I have a table master_account
like so
_id | account_id |
---|---|
1 | 3067261 |
2 | 4327735 |
3 | 8521420 |
and another table affiliate_partners
like so
_id | account_id | partner_account_id | is_client | is_driver |
---|---|---|---|---|
1 | 3067261 | 4327735 | true | true |
2 | 4327735 | 3067261 | true | true |
3 | 8521420 | 4327735 | false | false |
I'm logging in my application as account_id 3067261
and I get to see a list of all the accounts in master_account
except for account_id 3067261
which is mine. At the same time I need to see the statuses(is_client
, is_driver
) for my account_id 3067261
which are in affiliate_partners
related to my account_id. Till now, I have tried this query but it returns null for all the statuses(is_client
, is_driver
) and I do need null
for the account_id
for those who aren't connected in the affiliate_partners
table.
SELECT
ma._id,
ma.account_id,
CASE
WHEN ma.account_id = '3067261'
THEN ap.is_client
ELSE null
END as is_client,
CASE
WHEN ma.account_id = '3067261'
THEN ap.is_driver
ELSE null
END as is_driver
from master_account ma
left join affiliate_partners ap
on ma.account_id = ap.account_id
where ma.account_id != '3067261'
Expected result for the above sample:
_id | account_id | is_client | is_driver |
---|---|---|---|
2 | 4327735 | true | true |
3 | 8521420 | false | false |
But instead I get:
_id | account_id | is_client | is_driver |
---|---|---|---|
2 | 4327735 | null | null |
3 | 8521420 | null | null |