0

这个查询有什么问题:

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'

. 但是专栏存在!!!

4

2 回答 2

1

试试这个查询 -

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%'

这是你想要的吗?

于 2013-03-06T13:55:12.857 回答
1

如果列名是 new_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 提到的查询相同。

于 2013-03-06T14:36:43.077 回答