一个联接的基础问题

zjsfdxbao 2006-06-30 11:43:50
sql联接
a表id=11有一条记录
b表id=11有2或多条记录
怎么联接取出的数据id=11是一条记录?
谢谢各位大大,帮忙~
...全文
104 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcuandy 2006-06-30
  • 打赏
  • 举报
回复
一对多,你要选成一对一,你想有什么办法?
zjsfdxbao 2006-06-30
  • 打赏
  • 举报
回复
group的话影响速度,而且b表字段也比较多,难道都用max()。。。
zjsfdxbao 2006-06-30
  • 打赏
  • 举报
回复
我是要新建视图,联结必须要用的啊
难道非得在视图外来处理。。。
LouisXIV 2006-06-30
  • 打赏
  • 举报
回复
由于b表有多条记录,用联结必然取出多行,你必须要有所取舍
fcuandy 2006-06-30
  • 打赏
  • 举报
回复
如果仅查id=11的就在后面加上where a.id=11
fcuandy 2006-06-30
  • 打赏
  • 举报
回复
连接时,对有重复值的表进行group再连接。
比如
a
id name
11 aa
12 bb

b
id num
11 50
11 99
12 70

select a.id,a.name,x.num from a
left join
(select max(num) num,id from b) x
on x.id=a.id

34,871

社区成员

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

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