-3
表CityidとCITYname 2列にして、クエリのユニークなIDを書き込む:異なる都市の
city id city name
1 Bang
1 hyd
1 pune
2 hyd
2 pune
2 chennai
私は結果が欲しい:
1 ---hyd,pune,bang(all citynames of city id)
2---
表CityidとCITYname 2列にして、クエリのユニークなIDを書き込む:異なる都市の
city id city name
1 Bang
1 hyd
1 pune
2 hyd
2 pune
2 chennai
私は結果が欲しい:
1 ---hyd,pune,bang(all citynames of city id)
2---
はGROUP_CONCAT
またはUSER定義の集計を検索機能
あなたはあなたの質問に答えるために必要ないくつかの重要な詳細を中止しました:どの言語があなたは使っていますか?ここで
は、SQL Server 2005/2008上でT-SQLを使用している場合、答えは:
あなたの表:
CREATE TABLE [dbo].[cities](
[cityid] [int] NULL,
[cityname] [varchar](50) NULL
) ON [PRIMARY]
データ:
insert into cities(cityid,cityname)values(1,'Seattle')
insert into cities(cityid,cityname)values(1,'Portland')
insert into cities(cityid,cityname)values(2,'New York')
insert into cities(cityid,cityname)values(2,'Newark')
あなたのクエリ:
declare @result table(
cityid int,
cityname varchar(max)
)
declare @queue table(
cityid int,
cityname varchar(50)
)
declare @cityid int
declare @cityname varchar(50)
insert into @queue select * from cities
while(exists(select top 1 cityid from @queue)) begin
select top 1 @cityid = cityid, @cityname = cityname from @queue
if(exists(select cityid from @result where cityid = @cityid)) begin
update @result
set cityname = cityname + ', ' + @cityname
where cityid = @cityid
end else begin
insert into @result(cityid,cityname) values(@cityid,@cityname)
end
delete from @queue where cityid = @cityid and cityname = @cityname
end
select * from @result
あなたの結果:
cityid cityname
1 1 Seattle, Portland
2 2 New York, Newark
どのデータベースエンジンですか? – Randy