SQL Server: versuchen, 3 Tabellen (eine Tabelle ist doppelt), Personen und Termine zu verbinden. Ich möchte alle Menschen zurückzukehren, wo sie Verabredung vom Typ A haben, haben aber keinen Termin vom Typ B oder C.SQL Join 3 Tabellen geben zurück, wo Datensatz nicht in einer Tabelle übereinstimmt
SELECT DISTINCT p.first, p.last
FROM people p
JOIN appt a ON a.pkid = p.pkid
JOIN appt s ON s.pkid = p.pkid
WHERE
a.kept = 'SomeValue'
AND a.appt_type = '9999999'
AND (s.appt_type <> '88888888' OR s.appt_type <> '8888888888')
hatte Wo bin ich verwirrt, mache ich eine wählen zu tun haben, in oder tun Ich brauche eine andere Art von Join?
ist, ich sehe keine A/B/C-Typen APPT aber meinten Sie ' – dbmitch
@dbmitch s.event_id' ja zu verwenden ... Danke für den Hinweis auf , habe ich die ursprüngliche Frage korrigiert. – DDulla
Wenn Sie möchten, dass alle Bedingungen wahr sind - Ändern Sie die 'OR' in' AND' (und Sie brauchen die Klammern nicht, aber sie werden Ihnen nicht weh tun) – dbmitch