Изпълнявам тази 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)
който избира от 2 таблици, в които няма редове в таблицата ticket_updates където ticketnumber = ticketnumber
в двете таблици.
Как мога да променя тази заявка, за да върна редове, където няма редове в ticket_updates where customer <> "Y"
Отговори:
0 за отговор № 1Просто добавете още един AND
състояние във вашата подзаявка
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 за отговор № 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"