私は、parentid を使用して親として他のレコードに関連付けられているレコード (例 1000) を持っています。すべての「子」のステータスが「クローズ」のときにそのレコードを選択したい!
テーブルは T1:
ID PARENTID STATUS
1000 null PENDING
1001 1000 CLOSED
1002 1000 CLOSED
私はSQLを書きましたが、そうすべきではありませんが、nullを返します(「not in」はうまく機能しません)
SELECT ID
FROM T1
WHERE PARENTID IS NULL AND ID NOT IN (SELECT PARENTID FROM T1 WHERE STATUS!='CLOSED' )
SELECT PARENTID FROM ID WHERE STATUS!='CLOSED'
しかし、 1000 を返さないのに nullを返します。なぜですか? 「NOT IN」句が機能しない場合の選択方法。
非常に、非常に重要なことは、それ"WHERE PARENTID=ID"
が解決策になることはわかっていますが、別の方法で使用する必要があることです。