두 개의 테이블 알림 및 승인이 있습니다. 수신 확인에는 Notification Table의 기본 키를 보유하는 필드가 있습니다. 기본적으로 통지에는 많은 승인이 있습니다.조건이있는 경우 두 테이블에서 선택하는 SQL 쿼리
- 더 감사의 글이없는 Acknowledment.parent_id = Notification.id (특정 알림에 대한 기본적없이 승인) // 또는 :
- 알림 확인 메시지가있는 경우 parent_id = Notification.id의 확인 메시지 중 하나가 Acknowledgment.status = someValue 인 경우 알림을 선택합니다.
Tables: Notification Acknowledgment
fields: id, notifier id, parent_id, status
는 이제 통지하도록에서 행을 선택해야
의사 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]"
나는 간단한 쿼리로 휴식과이를 달성,하지만이 끝내야 하나 개의 쿼리를 알고 싶을 수 있습니다 ..
@Akhil의 대답에는 코드의 a.status 대신 a.id IS NULL이 있습니다. 어쨌든 그런 행이 없기 때문에 어느쪽으로 가든지 괜찮습니까? – nawfal
@nawfal 당신이 맞습니다 - 전혀 차이가 없습니다. – dasblinkenlight
그것을 지적 해 주셔서 감사합니다. 나는 나의 대답을 업데이트했다. – Akhil