簡體   English   中英

使用SQL中的此代碼將多行轉換為一行?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM