質問

だから私は、実行についての質問のカップルが参加し、偉大な答えを持っていたが、私は完全で困惑何かがまだあります。

求めてきました

私は3つのテーブルを持っています。私たちはテーブルB、テーブルDとテーブルE-それらを呼ぶことにしましょう。
テーブルB及びテーブル-D株カラムと呼ばれるP-ID。
EV-idという表-EとテーブルBのシェア列。
表-eは、日付と呼ばれる列があります。
表-bはまた、U-IDと呼ばれるユニークなID列を持っています。

私は、以下の条件の下でのu-IDを返すクエリを記述したいと思います。
1)table-e.dateである値にRestriced。
2)表b.p-IDは、テーブルd.p-IDと一致しない場合。

私は、テーブルBとし、電子ID列にテーブル-Eに参加する私は、内側に必要だと思います。私はその後、私は、p-idがnullであるテーブル-Dと、テーブル-Bに加入左を実行する必要があると思う。
私の問題は、私はこのクエリを書くの構文を知らないということです。私は、内部結合、複数の書き方を知っていると私は左が参加書く方法を知っています。私は2つの組み合わせはどうすればよいですか?

私を助けている皆さんに本当にありがとうございました。私は(当然!)データベースへの初心者だとそれはすべての周り私の頭を取得するために苦労しています!

役に立ちましたか?

解決

私はそれがこのようなものだと思います:

SELECT uid
  FROM table-b
  INNER JOIN table-e
      ON table-b.ev_id = table-e.ev_id
  WHERE table-b.p_id NOT IN (SELECT p_id from table-d)

他のヒント

あなたはただ次々と合流書きます:

SELECT b.uid
  FROM b
  INNER JOIN e USING(evid)
  LEFT JOIN d USING(pid)
  WHERE e.date = :whatever
    AND d.pid IS NULL
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top