2013-10-30 177 views
0

現在我的sql查詢顯示結果如下。 雖然它是正確的結果。如何在組中顯示查詢結果? SQL查詢

enter image description here

我更喜歡讓有結果顯示如下。 我怎樣才能用SQL來做到這一點?我SQL服務器2008

enter image description here

+1

這是一個UI操作。 –

+1

IMO這不是SQL的工作。 –

+0

它可以在SQL中完成,但在Excel中執行起來要容易得多。或SSRS。或者Crystal Reports。或者,... – RBarryYoung

回答

3

我與評論者,不如別處做到這一點,但它使用CASE語句和ROW_NUMBER()功能是很簡單的SQL:

;WITH cte AS (SELECT *,ROW_NUMBER() OVER (PARTITION BY ID ORDER BY (SELECT 1)) RN 
       FROM YourTable) 
SELECT CASE WHEN RN = 1 THEN CAST(ID AS VARCHAR(5)) ELSE '' END, Name 
FROM cte 
ORDER BY ID,RN 

演示:SQL Fiddle

+0

謝謝。關於這應該是UI工作方面的觀點。感謝您提供此鏈接 – BobNoobGuy

1

上這不是SQL工作。
任何方式,可以方便的與逗號分隔值顯示出來:

ID Names 
1000 Honda, Toyota,... 
1000 Honda, Toyota,... 

SELECT ID, Names= 
    STUFF((SELECT ', ' + Name 
      FROM your_table b 
      WHERE b.ID= a.ID 
      FOR XML PATH('')), 1, 2, '') 
FROM your_table a 
GROUP BY ID