MYSQL查询语法-未知列错误,但列存在
此查询有什么问题:MYSQL查询语法-未知列错误,但列存在,mysql,sql,Mysql,Sql,此查询有什么问题: SELECT * FROM families f JOIN family_histories fh ON f.id = fh.family_id WHERE f.family_status_cat_id = 1422 AND (SELECT hst.created_at FROM family_histories hst WHERE hst.family_history_cat_id = 1422 AND hst.new_value LIK
SELECT *
FROM families f JOIN family_histories fh ON f.id = fh.family_id
WHERE f.family_status_cat_id = 1422
AND (SELECT hst.created_at
FROM family_histories hst
WHERE hst.family_history_cat_id = 1422
AND hst.new_value LIKE '%1422%')
BETWEEN '2010/2/13' AND '2013/3/6'
我得到-
“where子句”中的未知列“hst.new_value”
。
但是这个栏目是存在的 试试这个查询-
SELECT * FROM families f
JOIN family_histories fh
ON f.id = fh.family_id
WHERE
f.family_status_cat_id = 1422 AND
fh.created_at BETWEEN '2010-02-13' AND '2013-03-06' AND
fh.family_history_cat_id = 1422 AND
fh.new_value LIKE '%1422%'
这就是您想要的吗?如果列名是new\u val,那么您应该有下面的查询
SELECT * FROM families f
JOIN family_histories fh
ON f.id = fh.family_id
WHERE
f.family_status_cat_id = 1422 AND
fh.created_at BETWEEN '2010-02-13' AND '2013-03-06' AND
fh.family_history_cat_id = 1422 AND
fh.new_val LIKE '%1422%'
您不需要第二次选择当前查询中的内容。这与Devart提到的查询相同。这只是意味着
家族历史记录
没有名为新值的列
如果删除条件“和hst.new值(如“%1422%”),会发生什么情况?它是否仍会给您错误?语法不正确。。。联接表和之间的子句未连接。最后一个右括号不应存在。复制/粘贴错误?我认为您不需要子查询,因为您已经将families表与family_histories表联接在一起了。你想用子查询做什么。语法也是错误的。如@Justin所述