У меня есть две таблицы Уведомление и подтверждение. Подтверждение имеет поле, которое содержит первичный ключ таблицы уведомлений. В основном уведомление будет иметь много Благодарности.SQL-запрос для выбора из двух таблиц с условием if
Tables: Notification Acknowledgment
fields: id, notifier id, parent_id, status
Теперь я должен выбрать строки из Notification, что:
- нет Квитирования WHERE Acknowledment.parent_id = Notification.id (в основном не признавался для конкретного уведомления) // или
- если есть Подтверждение для уведомления, затем выберите Уведомление, если какое-либо из выражений с parent_id = Notification.id имеет Acknowledgement.status = someValue
код псевдо SQL:
"SELECT * FROM Notification (WHERE id is not present in Acknowledgment.parent_id) OR
(WHERE id is present in Acknowledgment.parent_id AND [email protected]"
Я могу разбить его на более простые запросы и добиться этого, но я хотел бы знать один единственный запрос, чтобы получить это сделать ..
@ Ответ Ахиля имеет a.id IS NULL вместо a.status в вашем коде. Это нормально, потому что там не будет такой строки? – nawfal
@nawfal Вы правы - нет абсолютно никакой разницы. – dasblinkenlight
спасибо за указание. Я обновил свой ответ. – Akhil