私は、3つのカラム、taxon_id
,scientific_name_element_id
、およびparent_id
のテーブルを持っています。私は子供で親ではない要素を探したいので、構造の終わりです。MySQLの「NOT IN」クエリが機能しない
私は、私が
select taxon_id
from taxon_name_element
where taxon_id not in
(select parent_id from taxon_name_element)
を使用しかし、これは動作しません、私は私が実際にエントリを参照し、例えば、そこにあることがわかります空のセット、taxon_id=1
を得ることが示唆されたいくつかの情報源を発見しました逆にとNO parent_id=1
私はtaxon_id年代は、PARENT_ID年代にあるものを見たとき、私は空でない結果が
私が間違って何をやっているを設定し得ますか?これをどうすれば解決できますか? PARENT_ID列を想定し
[SQL NOT制約とNULL値IN]の可能複製(http://stackoverflow.com/questions/129077/sql-not-in -constraint-and-null-values) – ruakh
ruakhに感謝します。私はこれを正しく理解していますか?taxon_idをNULLと比較すると、未知数が返され、未知数は未知数になります。リンクをありがとう – SimaPro
はい、正確です。 '3 <> NULL'のようなものは不確定です。なぜなら、' NULL'は3つかもしれないからです。また、 '3 NOT IN(1、2、NULL)'です。 MySQLは 'WHERE'節を満たすために*知られている行だけを返します。 – ruakh