Wie kann ich zwei Tabellen auf beiden Wert verbinden?SQL Join auf zwei Tabellen
select cases.*
from client_cases
inner join cases on client_cases.id = cases.timeline
left join customers on client_cases.customer_id = customers.id or customers.email = '[email protected]'
where cases.timeline in (
select timeline from cases where cases.payload -> 'person' ->> 'phone' ~ '4625152'
)
Ich versuche, um ein Ergebnis zu erhalten, wenn entweder customers.email = ‚[email protected]‘ oder wenn das cases.payload JSONB Telefonfeld hat den Wert ‚4625152‘
Die obige Abfrage gibt nur ein Ergebnis zurück, wenn die Telefonnummer eine Übereinstimmung hat. Nicht, wenn die E-Mail eine Übereinstimmung hat und die Telefonnummer nicht.
hatte Sollte nicht 'customers.email =‚test @ sein gmail.com'' in die 'WHERE'-Klausel? – Eric
Ich habe Angst, dass nur das Problem umkehrt, dann bekomme ich ein Ergebnis nur, wenn die E-Mail eine Übereinstimmung hat, aber nicht die Telefonnummer. – n83
Es wird alle von ihnen bekommen. Es ist eine ODER-Bedingung. – Eric