以下是表結構,前6列用作組合鍵。SQL選擇帶複合鍵的所有記錄
col1 col2 col3 col4 col5 col6 col7 col8
A1 A2 A3 A4 A5 1 xx yy
A1 A2 A3 A4 A5 2 xxx yyy
A1 A2 A3 A4 A5 3 a b
A1 B2 A3 A4 A5 4 aa bb
B1 A2 A3 A4 A5 5 aaa bbb
B1 B2 B3 B4 B5 6 d e
B1 B2 B3 B4 B5 7 dd ee
B1 B3 C3 B4 B5 8 ddd eee
我需要一個存儲過程返回象下面
A1 A2 A3 A4 A5 xx yy xxx yyy a b
A1 B2 A3 A4 A5 aa bb
B1 A2 A3 A4 A5 aaa bbb
B1 B2 B3 B4 B5 d e dd ee
B1 B2 C3 B4 B5 ddd eee
任何指針或幫助表示讚賞的值。
在您的結果中,前5個值足夠簡單。但是,每行都有不同數量的列。 SQL只是不支持。你想要「xx,yy,xxx,yyy,a,b」(例如)作爲單個字符串返回嗎?如果是這樣,爲什麼?這樣的非規範化感覺像是在方法中可能是錯誤的,如果我們知道要實現什麼,我們可能會提供一種不同的方法。 – MatBailie 2012-02-09 10:17:35
感謝您的答覆。如果前五列對於行是相同的,我需要在表中顯示一行中的值。但是,列會根據前5列的重複行動態更改。我是新手SQL查詢。我不確定是否可能。 – vijay 2012-02-09 10:29:07
簡短的回答是「不,你不能有動態的列數」。如果你描述你需要這個結果*,那麼我們可能會提供一個替代方案。 – MatBailie 2012-02-09 10:30:51