Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL连接并返回硬编码列表中不存在的行_Mysql - Fatal编程技术网

MySQL连接并返回硬编码列表中不存在的行

MySQL连接并返回硬编码列表中不存在的行,mysql,Mysql,我需要一些关于MySQL查询的帮助。我有一个产品颜色ID列表,我想找出数据库中不存在的颜色ID。下面的查询从数据库返回匹配的colorID。我想看看哪些颜色在db中不存在 select cs.imageid from colorids cs where cs.imageid in ( 3333, 2222, 4444, 5555, 6666, 7777, 8888, ) 您可以这样硬编码列表,然后使用左连接: SELECT list.colorid FROM ( SELECT 3333

我需要一些关于MySQL查询的帮助。我有一个产品颜色ID列表,我想找出数据库中不存在的颜色ID。下面的查询从数据库返回匹配的colorID。我想看看哪些颜色在db中不存在

select cs.imageid from colorids cs 
where cs.imageid in 
(
3333,
2222,
4444,
5555,
6666,
7777,
8888,
)

您可以这样硬编码列表,然后使用左连接:

SELECT list.colorid
FROM (
  SELECT 3333 colorid
  UNION ALL
  SELECT 2222
  UNION ALL
  SELECT 4444
) AS list LEFT JOIN colorids cs
ON list.colorid = cs.imageid
WHERE
  cs.imageid IS NULL

不能那样做。您需要将这些值放入临时表中,然后将该表与另一个表连接起来<代码>在中是任何“任意”检查。它不会告诉你是否有东西“丢失”。删除最后一行(8888,)末尾的,并说where NOT in(……)谢谢!我在临时表中插入了所有imageID,然后我说从临时表中选择,其中imageID不在实际表中,它没有返回任何内容。我想还有别的问题!谢谢