ich habe folgendes Problem und mein Gehirn ausbrennt :)mysql auswählen, die auf zwei verschiedene Tabellen je nach Feldwert
Ich habe zwei Tabellen mit personenbezogenen Daten (ein für Kunden TABLE_A 'und ein für interessante Völker Tabelle_b '). In einer dritten Tabelle 'table_inv' gibt es Einträge mit eingeladenen_personen aus beiden Tabellen (a und b).
Die Tabelle_inv hat ein Feld 'eingeladene_ID', in dem die ID aus Tabelle a oder Tabelle b gespeichert ist. Ein anderes Feld 'type' hat den Wert 'cust' oder 'interest', um zu unterscheiden, von welcher Tabelle (a oder b) der Eintrag kommt.
Jetzt muss ich die vollen Daten von TABLE_A/Table_B erhalten je nach dem Wert aus dem Feld ‚Typ‘ ...
Ich versuchte es whith Fall und wenn aber ohne Ergebnis.
Ich suche so etwas wie:
SELECT a.id, a.created, a.userid, a.type, a.inviteid, b.name_first, b.name_last, b.zip, b.city
FROM ext_event_invites a
CASE a.type
WHEN 'CUST' THEN
LEFT JOIN accounts b ON a.inviteid = b.id;
ELSE
LEFT JOIN ext_contacts b ON a.inviteid = b.id;
END CASE
WHERE a.eventid = :eventid AND a.userid = '4711'
ORDER BY b.name_last ASC, b.name_first ASC
Kann mir jemand helfen?
@pengels. Lass es mich wissen, ob das für dich funktioniert hat. Wenn nicht, lassen Sie es mich wissen und ich werde versuchen, es zu beheben. Wenn ja, bitte kreuzen Sie die Antwort als Dankeschön als "akzeptiert" an. –
Habe gerade einige Tippfehler mit meinen Aliasen entdeckt. Diese sind jetzt korrigiert. Lass mich wissen, wie es dir geht. –
Das hat bei mir funktioniert, danke an dich! – pengels