我有一个表(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