我有一個表(table1),它有2列id和名稱以下是表中的數據。我想改進我的SQL
----輸入表---
id name
1 | ABC
2 | XYZ
3 | DEF
我想要寫SQL,這將給輸出如下面提到輸出的
列是ID,col1,col2 and col3及以下,預計在列中的值
1 TRUE FALSE FALSE
2 FALSE TRUE FALSE
3 FALSE FALSE TRUE
現在我想寫一個基於SQL在上面的輸出。
我寫了一個SQL使用CASE語句與SQL,但我知道應該有一個更好的方式來寫這個SQL並獲得輸出。
我的SQL:
select id, CASE WHEN NAME ='XYZ' THEN 'TRUE' ELSE 'FALSE' END AS colTRUE ,FALSE as col2,FALSE as col3 from tabel1
union all
select id, FALSE AS col1 ,CASE WHEN NAME ='XYZ' THEN 'TRUE' ELSE 'FALSE' END as col2,FALSE as col3 from tabel1
union all
select id, FALSE AS col1 ,FALSE as col2,CASE WHEN NAME ='DEF' THEN 'TRUE' ELSE 'FALSE' END col3 from tabel1
的建議我擺脫了聯盟,這是一個很好的suggestion.Thank你了。 – Vikram