我有两张桌子:
名称(id,名称)
地址(id,name_id,地址)
我想编写返回我的查询:
姓名,地址列表(地址1,地址2,地址3,..)
就像是:
Select A.name,B.list_of_addresses From Names A Inner Join (Select name_id,/*list_of_addresses with comma between them*/ From Addresses Group By name_id) B ON A.id=B.name_id
您可以使用For XML作为从SQL Server 2005开始实现该功能的技巧.
Select A.name,stuff(( select ',' + B.address from Addresses B WHERE A.id=B.name_id for xml path('')),1,'') From Names A
如果你的地址中还没有逗号,那么效果很好,但即使这样做了,因为你的请求是在它们之间添加逗号……这可能就像’正确’一样.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。