一道两个字段的SQL语句
有一个表“水果供应商”
字段1“供应商” 字段2“水果”
两个字段共为主键
数据库里的格式如下:
A 苹果
A 桔子
B 苹果
B 香蕉
。
。
。
现在 A供应商 不干了
求出 所有能替代 A供应商 的 供应商名单(既供应商A 能供应的所有水果,名单上的每一个供应商都能 独立供应)
------解决方案--------------------不对
SELECT 供应商
FROM 水果供应商 t1
WHERE EXISTS
(
SELECT 1
FROM 水果供应商 t2
WHERE t2.供应商 = 'A ' AND t2.水果 = t1.水果
)
AND 供应商 != 'A '
GROUP BY 供应商
HAVING COUNT(*) = (SELECT COUNT(*) FROM 水果供应商 WHERE 供应商 = 'A ')