MyTable
ID | Name | Type
---+------+-----
1 | asd | A
2 | zxc | B
3 | qwe | A
第一个查询
select ID, TypeA_Name from MyTable Where Type = 'A'
给予
ID | TypeA_Name
---+-----------
1 | asd
3 | qwe
第二次查询
select ID, TypeB_Name MyTable Where Type = 'B'
给予
ID | TypeB_Name
---+-----------
2 | zxc
我在下面的单个查询中使用了TypeA_Name和TypeB_Name
select ID, TypeA_Name, TypeB_Name from MyTable
应该给予
ID | TypeA_Name | TypeB_Name
---+------------+-----------
1 | asd | ---
2 | --- | zxc
3 | qwe | ---
那么我该如何构置where子句?谢谢
答案 0 :(得分:3)
尝试一下:
select
ID,
case when Type='A' then Name else null end as TypeA_Name,
case when Type='B' then Name else null end as TypeB_Name
from MyTable
您可以正常使用WHERE
,例如Where Type = 'A'
答案 1 :(得分:-1)
您可以执行以下操作:
select ID , Name from MyTable Where Type = 'A' OR Type = 'B'