一道两个字段的SQL语句

xugq 2007-05-19 07:04:02
有一个表“水果供应商”
字段1“供应商” 字段2“水果”
两个字段共为主键
数据库里的格式如下:
A 苹果
A 桔子
B 苹果
B 香蕉



现在 A供应商 不干了
求出 所有能替代 A供应商 的 供应商名单(既供应商A 能供应的所有水果,名单上的每一个供应商都能 独立供应)
...全文
227 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xugq 2007-05-21
  • 打赏
  • 举报
回复
xxj_jing()
你的 语句不对啊,
你得出的 供应商 可能只能供应 A拥有的某一个水果,

我要的是 “能单独供应A的所有水果 的供应商”
草青工作室 2007-05-20
  • 打赏
  • 举报
回复
select * from tableName
where
水果名 in (select 水果名 from TableName where 供应商=A) and
供应商 <> A
ckcljj 2007-05-20
  • 打赏
  • 举报
回复
调试中……
lsq667 2007-05-19
  • 打赏
  • 举报
回复
楼上那位在调试呢???
wyc_xiaoben 2007-05-19
  • 打赏
  • 举报
回复
... ...
zxkid 2007-05-19
  • 打赏
  • 举报
回复
还有点小错误
上面最后一句改成
HAVING COUNT(*) >= (SELECT COUNT(*) FROM 水果供应商 WHERE 供应商 = 'A')
zxkid 2007-05-19
  • 打赏
  • 举报
回复
不对

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')
zxkid 2007-05-19
  • 打赏
  • 举报
回复
SELECT *
FROM 水果供应商 t1
WHERE EXISTS
(
SELECT 1
FROM 水果供应商 t2
WHERE t2.供应商 = 'A' AND t2.水果 = t1.水果
)
AND 供应商 != 'A'

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧