我不知道为什么会发生这种情况,因为它们都存在:
SELECT (
SELECT COUNT(user_id)
FROM users u
WHERE
u.id=users_personals.user_id
AND u.status NOT IN (1,2,7)
LIMIT 1
) as Total
FROM users_personals p
WHERE
p.neighborhoods='Miami Beach'
AND DATE_FORMAT(created_at, '%Y-%m')>'2018-03'
最佳答案
表users_personals
在查询中别名为p
。
您可能想更改此设置:
WHERE u.id=users_personals.user_id
致:
WHERE u.id=p.user_id
注意:就问题而言,您的 SQL 可能会被简化以避免内联查询的需要。
如果没有看到示例数据和预期输出,就不可能确定......这是一个疯狂的猜测:
SELECT COUNT(*) as Total
FROM users_personals p
INNER JOIN users u
ON u.id = p.user_id
AND u.status NOT IN (1,2,7)
WHERE
p.neighborhoods = 'Miami Beach'
p.created_at >= '2018-04-01'
关于mysql - 在我的 sql 查询中收到 'users_personals.user_id' 中的未知列 'where clause',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55150797/