私は2つのテーブルの通知と肯定応答を持っています。肯定応答には、通知テーブルの主キーを保持するフィールドがあります。基本的に、通知には多くの謝辞があります。条件付きで2つのテーブルから選択する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]"
私は単純なクエリにそれを破ると、これを達成するため、私はこれを成し遂げるために1つのクエリを知るのが大好きだことができます。..
@Akhilの答えにはコード中のa.statusではなくa.id IS NULLがあります。とにかくそのような行がないので、いずれかのために行くのは大丈夫ですか? – nawfal
@nawfalあなたは正しい - 違いは全くありません。 – dasblinkenlight
それを指摘してくれてありがとう。私は私の答えを更新しました。 – Akhil