私は探していますが、これに対する答えを見つけることができないので、誰かが助けてくれることを望んでいます。私は私が欲しいものを表2(資産)SQL Join/WHEREの問題
asset_number location<br>
1 15
2 10
3 15
を表2にではなく、表に表示された資産のテーブル2つのテーブル
表1(監査済項目)
audit_session_id asset_number
Audit1 1
Audit1 2
Audit2 3
を持っています1を指定し、audit_session_idを指定します。私が持っていることである:それはNULLであるよう
SELECT a.asset_number
FROM auditeditems ai
RIGHT JOIN asset a
on ai.asset_number = a.asset_number
WHERE ai.asset_number IS NULL
AND a.location_id=15;
は、しかし、私はaudit_session_idにフィルタリングすることはできません。だから私は結果を得る:
1,3それはちょうど1(Iはaudit1セッションを見ていたと仮定した場合)
あるべきときに私は、これはまっすぐでなければなりません考えておくが、私は「場所を確認することはできません私は間違っています。ありがとうございました
実際のところ、右のジョインは非常にまれです。 – Strawberry
多くの人が左への参加を理解するのが難しいと感じています。だから、私のアドバイスは、常に左に参加することです。 'オプションのデータ右結合メインテーブル 'ではなく、'メインテーブルの左のオプションのデータ結合 'を理解するのがずっと簡単です。 – jarlh
私は上記のポスターに同意します。もし私がコードレビューをしていて、正しい参加を見たなら、すぐにそのコードに失敗するでしょう。非常に限定されたシナリオでのみ役立ちます。 –