mysql では、tableA
with rowsuserid
とvalueA
and tableB
with userid
and valueB
.
今tableA
、tableB
同じuserid
.
私はいくつかのことを試しましたが、何が間違っているのかわかりません。
SELECT * FROM `tableA`
left join `tableB` on `tableA`.`userid` = `tableB`.`userid`
これは実際には非常に良いスタートです。からのすべてのエントリtableA
+ からの対応する値が得られtableB
ます。存在しない場合は、NULL
(phpmyadmin で) として表示されます。
SELECT * FROM `tableA`
left join `tableB` on `tableA`.`userid` = `tableB`.`userid`
where `tableB`.`valueB` = NULL
残念ながら、空の結果です。たぶん、これは簡単すぎたでしょう。(ちなみに、tableA
〜10kのtableB
エントリがあり、それぞれに一意の〜7kのエントリがuserid
あります。私がやりたいことをした場合、結果が空になることはありません)
SELECT * FROM `tableA`
left join `tableB` on `tableA`.`userid` = `tableB`.`userid`
where `tableA`.`userid` != `tableB`.`userid`
これもうまくいきません。正直なところ、完全にパラドックスに見えます。とにかく今は無知です。2 番目のクエリが機能しなかったのはなぜですか? 正しい解決策は何ですか?