【发布时间】:2011-03-02 19:32:51
【问题描述】:
我有下一个我认为是有效的查询,但我不断收到错误消息,告诉我“WHERE em.p4 = ue.p3”存在问题 - 未知列 'ue.p3 '在'where子句'中。
这是查询:
SELECT DISTINCT ue.p3
FROM
table1 AS ue INNER JOIN table2 AS e
ON ue.p3 = e.p3
WHERE
EXISTS(
SELECT 1 FROM (
SELECT (COUNT(*) >= 1) AS MinMutual
FROM table4 AS smm
WHERE
smm.p1 IN (
SELECT sem.p3 FROM table3 AS sem
INNER JOIN table2 AS em ON sem.p3 = em.p3
WHERE em.p4 = ue.p3 AND
sem.type = 'friends' AND em.p2 = 'normal' ) AND
smm.p5 IN (
15000,15151
)
) AS Mutual WHERE
Mutual.MinMutual = TRUE) LIMIT 11
如果我执行 EXISTS 函数内的子查询,一切正常
请帮忙!
【问题讨论】:
-
table1 中是否存在列
p3? -
或更确切地说:table3中是否存在列p3?
标签: sql mysql subquery exists mysql-error-1054