咨询一个查询的问题。

speedk8 2013-07-23 10:28:15
具体问题就不细说了,大概描述一下是这样一个情况。
现在有两个表
表A name
id name
1 a
2 b
3 c
4 d
5 e
6 f
表B city
id city
1 济南
1 上海
1 北京
1 西安
2 广州
2 西安
3 济南
3 成都
4 天津
4 上海
4 北京
4 沈阳
5 重庆
6 北京
6 沈阳

我现在想做一个视图,得到这样的结果
id name city
1 a 济南上海北京西安
2 b 广州西安
3 c 济南成都
4 d 天津上海北京沈阳
5 e 重庆
6 f 北京沈阳

请问大虾们,这个查询该什么写呢?用一般的连接查询结果出来是笛卡尔积的效果
...全文
90 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
se7en 2013-07-23
  • 打赏
  • 举报
回复
SELECT * FROM dbo.View_1 直接新建试图,选择A的id,name,表B的name,然后就出来了。。。。
lzw_0736 2013-07-23
  • 打赏
  • 举报
回复
with a1 (id,city) AS ( SELECT 1,'济南' UNION all SELECT 1,'上海' UNION all SELECT 1,'北京' UNION all SELECT 1,'西安' UNION all SELECT 2,'广州' UNION all SELECT 2,'西安' UNION all SELECT 3,'济南' UNION all SELECT 3,'成都' UNION all SELECT 4,'天津' UNION all SELECT 4,'上海' UNION all SELECT 4,'北京' UNION all SELECT 4,'沈阳' UNION all SELECT 5,'重庆' UNION all SELECT 6,'北京' UNION all SELECT 6,'沈阳' ) ,a2 (id,name) AS ( SELECT 1,'a' UNION all SELECT 2,'b' UNION all SELECT 3,'c' UNION all SELECT 4,'d' UNION all SELECT 5,'e' UNION all SELECT 6,'f' ) ,a3 AS ( SELECT a.id,city=stuff ( (select ','+RTRIM(city) as [text()] from a1 b where a.id=b.id for xml path('') ),1,1,'') FROM a1 a group by a.id ) SELECT a.id,b.name,a.city FROM a3 a INNER JOIN a2 b ON a.id=b.id

34,593

社区成员

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

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