I have the following tables
- Invoice
- Organization
- Customer
I’m trying to conditionally join these tables by the following condition: If PTypecd = ‘I’ then data come from the Customer table And if Ptypecd = ‘O’ then data come from the Organization table into the Invoice table.
the query i tried so far:
Select
I.PCD, I.PtypeCD,
From
Invoice I
Left Join
Customer C ON I.PCD = C.CustomerCD
Left Join
Organization O ON I>PDC = O.Organization
How does this condition be used in Join?
Advertisement
Answer
Here’s a query that joins two tables conditionally, in your case you need to join the Customer table when the PTypecd of Invoice is 1 so add another condition for joint statement AND I.PTypecd = 1, and it the other join you need to check wither I.PTypecd = 0 and that will let you join the other table Organization
SELECT I.PCD, I.PtypeCD FROM Invoice I LEFT JOIN Customer a ON a.CustomerCD = i.PDC AND I.PTypecd = 1 LEFT JOIN Organization b ON b.Organization = i.PDC AND i.PTypecd = 0;