[英]Convert multiple rows to one row with this code in SQL?
我的桌子是:
id val catid
1 title1 7
2 text1 8
3 title2 7
4 text2 8
我想這樣合並行:
val1 val2
title1 text1
title2 text2
我用這個查詢:
select
(case when catid = 7 then val end) val1,
(case when catid = 8 then val end) val2
from mytable
但是我的結果是:
val1 val2
title1 Null
Null text1
title1 Null
Null text2
如何解決? 謝謝
關於使用GROUP_CONCAT
函數。 也許您可以通過用逗號分隔來在程序邏輯中使用它。
select group_concat(val) as vals
from table group by catid
在您的應用中:
splitted_array = vals.Split(",");
key=splitted_array [0];
value=splitted_array [1];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.