OracleのSQL文について。列は副問い合わせに対し

Writer: admin Type: 消費者問題 Date: 2019-03-06 00:00
OracleのSQL文について。列は副問い合わせに対して外部結合されませんのエラーこんにちは。2つのaテーブルとbテーブルを結合し、さらに別のcテーブルの日付で条件指定したいのですがどうしても上手くいきません。SELECT COUNT(a.key)FROM aテーブル aLEFT JOIN bテーブル bON a.key=b.keyAND b.DATE = (SELECT M_DATE FROM cテーブル) おそらく最後の(SELECT〜を変えればいいと思うのですが、、、どなたか教えていただけるとありがたいです。共感した0###要件がよく分かりません。LEFT JOINを指定した場合SELECT COUNT(a.key)FROM aテーブル aLEFT JOIN bテーブル bON a.key=b.keyとしてもbテーブルのkey列にaテーブルのkey列と等しいものが複数行なければ、COUNT(a.key)の値は結合によって変わりません。逆に言うと上記のSQLではaテーブルのkeyとbテーブルのkeyがマッチングしない行数にマッチングする場合にその行数分だけ加算した結果にならないでしょうか。(NULLの場合はマッチとは判定されませんが)この結果がどういう意図なのか分かりかねます。また、SELECT a.*FROM aテーブル aLEFT JOIN bテーブル bON a.key=b.keyand a.date in (SELECT M_DATE FROM cテーブル)としてもselect a,*の結果には影響がないはずです。もう一度要件について検討して見てください。SELECT a.*FROM aテーブル aJOIN bテーブル bON a.key=b.keyand a.date in (SELECT M_DATE FROM cテーブル)とかならそれとなく分かるのですが。ナイス0
###この回答は投票によってベストアンサーに選ばれました!###b.dateが複数列返るから=ではなくinでは?ナイス0

 

TAG