問題

私は多くのQ&を読んだ。 NOT IN演算子に関するA IN演算子を使用してNULL値と空白をフィルタリングすると、なぜ機能しませんか? そして他の多くの人が、問題は、non-primaryキーの演算子でない場合、応答を返さないということです。

 SELECT * FROM temp_customers WHERE temp_customers.fk_my_id NOT IN (SELECT fk_my_id FROM customers)
 

ここで、fk_my_idは非主キーであり、文字列かもしれません。

どんなアイデアですか?

  ベストアンサー

fk_my_idをカンマで区切るためにここでgroup_concatを使用する

 SELECT * FROM temp_customers WHERE temp_customers.fk_my_id NOT IN 
(SELECT GROUP_CONCAT(fk_my_id) FROM customers)   
# when fk_my_id is INTEGER output (1,2)

SELECT * FROM temp_customers WHERE temp_customers.fk_my_id NOT IN 
(SELECT GROUP_CONCAT("'",fk_my_id,"'") FROM customers)   
# when fk_my_id is VARCHAR output ('1','2')
 

  同じタグがついた質問を見る

phpmysql