これが可能かどうか、またはテーブルにない文字列を判別する方法を尋ねたかっただけです。例えば内の名前(「NAME1」、「name2の」、「NAME3」)mySQL "IN"関数が見つからないリストを返す
- シナリオがNAME1とNAME2あるtable_personから
選択名前は私のテーブルの上に提供されていますが、私が表示したいことはNAME3です私が追加していないことが何であるかを知りたいからです。
これが可能かどうか、またはテーブルにない文字列を判別する方法を尋ねたかっただけです。例えば内の名前(「NAME1」、「name2の」、「NAME3」)mySQL "IN"関数が見つからないリストを返す
選択名前は私のテーブルの上に提供されていますが、私が表示したいことはNAME3です私が追加していないことが何であるかを知りたいからです。
最悪の方法で遊んでいる可能性があります。
クエリが解決され反転と組み合わせる
SELECT
suppliedArgTable.name
FROM
(
SELECT 'name1' AS name
UNION
SELECT 'name2'
UNION
SELECT 'name3'
) AS suppliedArgTable
LEFT JOIN
table_person TP ON TP.name = suppliedArgTable.name
WHERE TP.name IS NULL;
NOT IN
を推奨されません。
(リスト)('name1','name2','name3')
(一時的な)テーブルに。 temp_list
とtable_person
のデータとクエリは次のようになります。
select name from temp_list
where name not in (
select distinct(name) from table_person
)
distinct
ダブルスを削除します。 (MySQL: Select only unique values from a columnも参照してください)
あなたは 'NOT IN'について質問していますか? –
[MySQL "NOT IN"クエリの可能な重複](http://stackoverflow.com/questions/1519272/mysql-not-in-query) –
コールネーム1、ネーム2、およびネーム3をBに設定することができます。セットAはすべてあなたのtable_personのデータ。セットAにレコードが存在しないセットBのすべてのレコードが必要ですか? – xQbert