MySQL命令的奇怪行为不在| GROUP|CONCAT中?

MySQL命令的奇怪行为不在| GROUP|CONCAT中?,mysql,sql,Mysql,Sql,我真的对MySQL命令的下一个行为感到困惑。正如您所看到的,我的SQL语句非常简单 SQL语句: SELECT * FROM TABLE_1 WHERE POSITION_ID NOT IN ( SELECT GROUP_CONCAT(ID_OBJECT) FROM TABLE_2 ) 本部分: SELECT GROUP_CONCAT(ID_OBJECT) FROM TABLE_2 返回我:563646972174559318041024192759859227432 但当我

我真的对MySQL命令的下一个行为感到困惑。正如您所看到的,我的SQL语句非常简单

SQL语句:

SELECT *
FROM TABLE_1
WHERE POSITION_ID NOT IN (
    SELECT GROUP_CONCAT(ID_OBJECT)
    FROM TABLE_2
)
本部分:

SELECT GROUP_CONCAT(ID_OBJECT)
FROM TABLE_2
返回我:
563646972174559318041024192759859227432

但当我检查SQL语句时,我看到了位置为\u ID=3180的记录。这是怎么发生的?不应该有这样的记录,因为我们排除了它。我错了多少?也许我错过了一些符号

编辑

我认为问题可能出在
GROUP\u CONCAT
命令中。它可能会将结果放在这样的撇号中,这不是我想要的:

SELECT *
FROM TABLE_1
WHERE POSITION_ID NOT IN ("5636,4697,2174,5559,3180,4102,4192,7598,5922,7432")
我需要这样的代码:

SELECT *
FROM TABLE_1
WHERE POSITION_ID NOT IN (5636,4697,2174,5559,3180,4102,4192,7598,5922,7432)

GROUP\u CONCAT
函数返回一个字符串值,如果
GROUP\u CONCAT(ID\u对象)使用的
不在
中,则该函数将与字符串结果进行比较

您可以尝试在子查询中使用
NOT IN

SELECT *
FROM TABLE_1
WHERE POSITION_ID NOT IN (
    SELECT ID_OBJECT
    FROM TABLE_2
)

你能提供一些样本数据和预期结果吗?真的吗help@D-施:你好!你能再查一下我的帖子吗。我补充了我的假设。最后一个没有撇号的代码是正确的。我写了一个答案,你可以试试。这就是我要说的。我知道问题出在
GROUP\u CONCAT
。谢谢你的时间,兄弟。@Nurzhanogerbek不,问题是你如何使用group_concat()@Shadow你完全正确!我的错。