join
クエリで2つの条件の問題が発生しました。問題はクエリが左のサイトだけを返すのに対して、右のサイトはNULL
しか含んでいないことです。データの種類が一致していることを確認しました。何がうまくいかないでしょうか?LEFT joinは右側にNULLだけを返します。
SELECT t2.YEAR_NUMBER
,t2.WEEK_NUMBER
,t2.STOCK_RIC
,t1.SENT_POS_WEIGHTED
,t1.SENT_NEUT_WEIGHTED
,t1.SENT_NEG_WEIGHTED
,t1.OBSERVATIONS
,t1.AV_W_RELEVANCE
,t1.AV_W_LNKD_CNT1
,t1.AV_W_ITEM_CNT1
INTO res
FROM Structure2016 t2 left JOIN
pre t1
ON t1.WEEK_NUMBER = t2.WEEK_NUMBER AND t1.STOCK_RIC = t2.STOCK_RIC
ORDER BY STOCK_RIC, WEEK_NUMBER
EDIT:表がどのように見えるかのような簡単な例です。 STOCK_RIC列はそれが正常に動作する必要があり、現在、char型(13)
TABLE Structure2016:
STOCK_RIC YEAR WEEK_NUMBER
JPM.N 2016 1
JPM.N 2016 2
JPM.N 2016 3
TABLE pre:
STOCK_RIC WEEK_NUMBER SENT_POS_WEIGHTED
JPM.N 5 0.1
JPM.N 3 0.9
JPM.N 1 0.1
JPM.N 10 0.1
Result should then look like
STOCK_RIC WEEK_NUMBER SENT_POS_WEIGHTED
JPM.N 1 0.1
JPM.N 2 NULL
JPM.N 3 0.9
これは、クエリの「右側」に一致するレコードがない場合に起こるはずのことです。結合の中に2つの成分の 'and'条件があります。つまり、右側のレコードと一致するためには、それらの別々の条件の両方が"真 "でなければなりません。 –
希望する入出力は何ですか? – Teja
?そのための左結合があります。 –