gpt4 book ai didi

mysql - 仅获取表 "products"中的结果(如果它们在其他两个表中具有条目(由 ID 和产品类型列标识))

转载 作者:行者123 更新时间:2023-11-29 12:32:49 24 4
gpt4 key购买 nike

我有一个包含“产品”的表,用于存储产品 ID 和产品类型(字符串)。

我想检索所有这些“产品”,将它们连接到另外两个表,其中列出了两个单独的产品,并忽略这两个表中未找到的所有其他产品。我在“产品”表中有“产品类型”。

这是一个示例结构:

  1. 产品(ID、idProduct、类型)

    1|3|电视

    2|4|电视

    3|13|电话

  2. tvs(ID、名称)

    3|索尼

    4|菲利普斯

  3. 表格电话(ID、姓名)

    13|三星Galaxy

即使 products 中存在重复的 idProduct 值,我们也会通过检查 type 列来识别/加入。目前,我对两个表使用 LEFT JOIN 的方法无法正常工作,因为如果 products 仅包含一种类型的产品,它不会返回任何值。

最佳答案

我建议使用联合 - 这样您就可以从其他表获取数据而不仅仅是产品表:

(SELECT p.ID, p.idProduct, p.type, t.name
FROM products p, tvs t
WHERE p.idProduct=t.ID AND p.type = 'tv')
UNION
(SELECT p.ID, p.idProduct, p.type, t.name
FROM products p, phones t
WHERE p.idProduct=t.ID AND p.type = 'phones')

关于mysql - 仅获取表 "products"中的结果(如果它们在其他两个表中具有条目(由 ID 和产品类型列标识)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27224874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com