一段SQL语句,会者不难,难者不会啊

haonanernet 2005-04-22 07:55:03
表A:

Aid name
1 a
2 b
3 c
4 d
5 e

表B:

Bid name color
1 a '红'
1 b '绿'
3 b '蓝'
4 a '蓝'
4 b '红'
4 c '黄'


想得到:
name color
a '蓝'
b '红'
c '黄'
d ''
e ''
就是想查出Bid=等于4的记录

但是name又要调出A中所有name的值

...全文
119 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
heguosheng 2005-04-22
  • 打赏
  • 举报
回复
总结一下:
上面三位的结果都对

个人推荐 paoluo(一天到晚游泳的鱼)的
Well 2005-04-22
  • 打赏
  • 举报
回复
Select A.Name,isnull(B.color,'') from 表A A
Left Join 表B B On A.Name=B.Name And Bid=4
jihanzhong 2005-04-22
  • 打赏
  • 举报
回复
左连接
sh_zll 2005-04-22
  • 打赏
  • 举报
回复
select name,color from b where Bid='4'
union
select name,'' from a where a.name not in(select name from b where Bid='4')
_谁啊 2005-04-22
  • 打赏
  • 举报
回复
SELECT name, ISNULL
((SELECT color
FROM 表B
WHERE bid = 4 AND name = 表A.name), '''''') AS color
FROM 表A
paoluo 2005-04-22
  • 打赏
  • 举报
回复
试试

Select A.Name,IsNull(B.color,'') from 表A A
Left Join 表B B On A.Name=B.Name And Bid=4

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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