请问这样的SQL语句
表结构示意如下:
表1
[id] [名称]
1 名称1
2 名称2
3 名称3
表2
[id] [时间] [地点]
1 5日 上海
1 9日 北京
1 20日 天津
2 8日 杭州
2 19日 广州
3 8日 深圳
想要的结果
[id] [时间、地点]
1 5日-上海;9日-北京;20日-天津
2 8日-杭州;19日-广州
3 8日-深圳
我现在的做法是在程序里面循环,速度慢,
能否一条SQL语句搞掂?
哪位大侠能帮忙?
------解决方案--------------------好象和表1没什么关系?
------解决方案--------------------很有意思
关注
------解决方案--------------------用join on把两个表关联不就行了...
比如:
select [字段],[字段],[字段] from table1 join table2 on table1.[字段]=table2.[字段]
where......
------解决方案--------------------以前见过类似的问题 最后不了了之了
------解决方案--------------------寫一個函數就可以實現
--創建函數
Create Function F_TEST(@id Int)
ReturnS Nvarchar(4000)
As
Begin
Declare @S Nvarchar(4000)
Select @S = ' '
Select @S = @S + '; ' + 时间 + '- ' + 地点 From 表2 Where id = @id
Select @S = Stuff(@S, 1, 1, ' ')
Return @S
End
GO
--測試
Select
id,
dbo.F_TEST(id) As [时间、地点]
From
表1
GO