读书人

请教这样的SQL语句

发布时间: 2012-02-14 19:19:19 作者: rapoo

请问这样的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

读书人网 >asp.net

热点推荐