Wykonuję następujące zapytanie SQL:
SELECT * FROM tickets t
WHERE t.status <> "Completed"
AND NOT EXISTS (SELECT u.ticketnumber
FROM ticket_updates u
WHERE u.type = "update" AND u.ticketnumber = t.ticketnumber)
która wybiera z 2 tabel, w których nie ma wierszy w tabeli ticket_updates, gdzie ticketnumber = ticketnumber
w obu tabelach.
Jak mogę zmienić to zapytanie, aby zwracało wiersze, w których nie ma wierszy w pliku ticket_updates where customer <> "Y"
Odpowiedzi:
0 dla odpowiedzi № 1Po prostu dodaj kolejne AND
warunek w zapytaniu podrzędnym
SELECT * FROM tickets t
WHERE t.status <> "Completed"
AND NOT EXISTS (SELECT u.ticketnumber
FROM ticket_updates u
WHERE u.type = "update" AND u.ticketnumber = t.ticketnumber
AND u.customer <> "Y"
)
0 dla odpowiedzi nr 2
SELECT t.*, tu.*
FROM tickets t
LEFT JOIN ticket_updates tu ON t.ticketnumber = tu.ticketnumber
WHERE tu.ticketnumber IS NULL AND t.status <> "Completed" AND tu.customer <> "Y"