我不知道我怎樣才能取一個數據集,看起來像這樣:合併重複的行成1行多列
表1:
RecordID Code
A 351
A 352
A 353
A 354
看起來像這樣:
表2:
你已經可以假設我創建了第二個表格,其中包含我在下面創建的列標題
RecordID 351 352 353 354 355 356
A Y Y Y Y N N
非常感謝您的幫助。
我不知道我怎樣才能取一個數據集,看起來像這樣:合併重複的行成1行多列
表1:
RecordID Code
A 351
A 352
A 353
A 354
看起來像這樣:
表2:
你已經可以假設我創建了第二個表格,其中包含我在下面創建的列標題
RecordID 351 352 353 354 355 356
A Y Y Y Y N N
非常感謝您的幫助。
你可以嘗試這樣的事:
select
RecordID,
iif(sum(iif([Code]=351,1,0))>0,'Y','N'),
iif(sum(iif([Code]=352,1,0))>0,'Y','N'),
iif(sum(iif([Code]=353,1,0))>0,'Y','N'),
iif(sum(iif([Code]=354,1,0))>0,'Y','N'),
iif(sum(iif([Code]=355,1,0))>0,'Y','N'),
iif(sum(iif([Code]=356,1,0))>0,'Y','N')
from table
group by RecordID
SELECT RecordID,
CASE WHEN SUM(CASE WHEN Code = 351 THEN 1 ELSE 0 END) = 1 THEN 'Y' ELSE 'N' AS [351],
CASE WHEN SUM(CASE WHEN Code = 352 THEN 1 ELSE 0 END) = 1 THEN 'Y' ELSE 'N' AS [352],
CASE WHEN SUM(CASE WHEN Code = 353 THEN 1 ELSE 0 END) = 1 THEN 'Y' ELSE 'N' AS [353],
CASE WHEN SUM(CASE WHEN Code = 354 THEN 1 ELSE 0 END) = 1 THEN 'Y' ELSE 'N' AS [354],
CASE WHEN SUM(CASE WHEN Code = 355 THEN 1 ELSE 0 END) = 1 THEN 'Y' ELSE 'N' AS [355],
CASE WHEN SUM(CASE WHEN Code = 356 THEN 1 ELSE 0 END) = 1 THEN 'Y' ELSE 'N' AS [356]
FROM yourTable
GROUP BY RecordID
謝謝你們!這是有道理的,應該工作,生病給它一個鏡頭。 – WillT2118
這RDBMS是這個呢?請添加一個標籤來指定您是使用'mysql','postgresql','sql-server','oracle'還是'db2' - 或者其他的東西。 –
我正在使用SQLServer 2012 – WillT2118