Reputation: 149
MyTable
ID | Name | Type
---+------+-----
1 | asd | A
2 | zxc | B
3 | qwe | A
First query
select ID, TypeA_Name from MyTable Where Type = 'A'
Gives
ID | TypeA_Name
---+-----------
1 | asd
3 | qwe
Second Query
select ID, TypeB_Name MyTable Where Type = 'B'
Gives
ID | TypeB_Name
---+-----------
2 | zxc
I wand TypeA_Name and TypeB_Name in single query a below
select ID, TypeA_Name, TypeB_Name from MyTable
Should Give
ID | TypeA_Name | TypeB_Name
---+------------+-----------
1 | asd | ---
2 | --- | zxc
3 | qwe | ---
Then how can I frame where clause ? Thanks
Upvotes: 0
Views: 48
Reputation: 7240
Try this:
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
you can use your WHERE
s normally eg Where Type = 'A'
Upvotes: 3