MySQL,其中concat的条件似乎无法正常工作
由于基础表中包含了一个新列,因此必须扩展一个正常工作的MySQL查询。此列现在也与查询中的条件相关,因此我尝试通过使用CONCAT在条件部分包含新列来调整查询,但到目前为止运气不佳,这意味着我没有得到任何结果 在尝试了很长一段时间并查看了(例如此处)之后,我无法让它工作,因为查询确实给出了一个空结果 当我单独尝试查询的各个部分时,一切正常 这起到了作用:MySQL,其中concat的条件似乎无法正常工作,mysql,where-clause,concat,Mysql,Where Clause,Concat,由于基础表中包含了一个新列,因此必须扩展一个正常工作的MySQL查询。此列现在也与查询中的条件相关,因此我尝试通过使用CONCAT在条件部分包含新列来调整查询,但到目前为止运气不佳,这意味着我没有得到任何结果 在尝试了很长一段时间并查看了(例如此处)之后,我无法让它工作,因为查询确实给出了一个空结果 当我单独尝试查询的各个部分时,一切正常 这起到了作用: SELECT a, ... FROM tbl1 LEFT JOIN( SELECT a, ... FROM tbl2) AS tbl3
SELECT a, ... FROM tbl1
LEFT JOIN(
SELECT a, ... FROM tbl2) AS tbl3 using (a)
WHERE a
NOT IN (SELECT a FROM tbl4 where con=...)
这并不是:
SELECT a, b , ... FROM tbl1
LEFT JOIN(
SELECT a, b, ... FROM tbl2) AS tbl3 using (a)
WHERE CONCAT(a, b)
NOT IN (SELECT CONCAT(a, b) FROM tbl4 where con=...)
预期的查询结果应该是联接的结果,由NOT IN条件过滤。相反,我得到的是一个空的查询结果。我认为您提供的查询可能太小,无法提供太多帮助,但在MySQL中,这种检查不需要CONCAT。MySQL支持元组上的条件,如((a1,b1),(a2,b2),…)中的
(a,b)
您的问题不清楚。。添加适当的数据样本,您的实际结果和预期结果a
和b
在中不明确,其中CONCAT(a,b)
。您应该使用表别名作为前缀。关于不够清晰的注释:我编辑了我的问题,现在提供了代码比较。希望这能让它更清楚一点…tbl4的a和b中是否有空值?我认为您提供的查询可能太小,无法提供太多帮助,但在MySQL中,这种检查不需要CONCAT。MySQL支持元组上的条件,如((a1,b1),(a2,b2),…)中的(a,b)
您的问题不清楚。。添加适当的数据样本,您的实际结果和预期结果a
和b
在中不明确,其中CONCAT(a,b)
。您应该使用表别名作为前缀。关于不够清晰的注释:我编辑了我的问题,现在提供了代码比较。希望这能让它更清楚一点…tbl4的a和b中有空值吗?