mysql では、tableAwith rowsuseridとvalueAand tableBwith useridand 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 番目のクエリが機能しなかったのはなぜですか? 正しい解決策は何ですか?