したがって、次のwhereステートメントで照会します。基本的に、私は過去7日間にスポーツやプレーヤーの活動がなかったことを確認したいと思います。 NULL値がある場合にwhereステートメント(SQL)のNULL値を扱う
WHERE......
AND (((SELECT max(sportswagerbyleague.asOfDate)
FROM sportswagerbyleague
WHERE sportswagerbyleague.userID = customer_profile.userID)
<= date(CURDATE()) - INTERVAL 7 DAY )
AND ((SELECT max(pa.txndate)
FROM player_activity pa
WHERE pa.userID = customer_profile.userID) <= date(CURDATE()) - INTERVAL 7 DAY))
しかし、(そのユーザ別名が全くプレーヤーの活動やスポーツ活動を持っていないのいずれか)、その後、WHERE文では、その特定のユーザのための偽となります。私はWHEREステートメントが単一のNULL値であっても真のままであるようにしたい。
提案?
それは「*」の代わりに「MAX(sportswagerbyleague.asOfDate)」のであるか、それだけでタイプミスでない理由? – eddd83
型なし、 'max(sportswagerbyleague.asOfDate)'のような集約は常に行を返します(一致する行がない場合は 'NULL')ので、' NOT EXISTS'は決してtrueになりません。 '[NOT] EXISTS'は' * 'が実際に推奨される唯一の場所です:-) – dnoeth