gpt4 book ai didi

mysql - 选择提供完全相同部分 : 的 sid 对的查询

转载 作者:行者123 更新时间:2023-11-29 01:04:08 25 4
gpt4 key购买 nike

我在 MySQL 中有以下关系:

Suppliers(**sid**; sname; city),
Parts(**pid**; pname; color),
Catalog(**sid**; **pid**; cost),

键在*之间。

我想找到:

  1. 供应商对 (s1; s2) 使得 s1 和 s2 供应完全相同的零件。
  2. 供应至少两个其他任何人都不提供的部件的供应商。

最佳答案

SELECT supplier_1, supplier_2
FROM ( SELECT c.sid AS supplier_1, c2.sid AS supplier 2, COUNT(*) AS total, COUNT(c2.sid) AS connected
FROM Catalog AS c
LEFT JOIN Catalog AS c2
ON c.sid != c2.sid AND c.pid = c2.pid
GROUP BY c.sid, c2.sid) AS h
GROUP BY LEAST(supplier_1, supplier_2), GREATEST(supplier_1, supplier_2)

我想像这样的东西可以解决问题。基本上只需根据不等于同一供应商和相等的零件 ID 来执行 LEFT JOIN,然后查看连接的数量是否等于未成功连接的行数。

关于mysql - 选择提供完全相同部分 : 的 sid 对的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12802225/

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