Fool
Fool

Reputation: 149

Multiple where condition in query

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

Answers (1)

George Menoutis
George Menoutis

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 WHEREs normally eg Where Type = 'A'

Upvotes: 3

Related Questions