gpt4 book ai didi

php - 将用户 ID 传递给嵌套查询

转载 作者:行者123 更新时间:2023-11-29 14:13:49 25 4
gpt4 key购买 nike

我试图从用户数据库中选择未订阅特定邮件列表的所有用户。如果用户是列表的成员,则内部查询会查找该用户,而外部查询会选择内部结果为零行的所有用户。

SELECT u.userid, u.username, u.mail, u.name, 
u.lastname, u.starting_year, u.userid AS UIDD
FROM userdb.users AS u
WHERE (SELECT COUNT(*) FROM maildb.lists AS l,
maildb.list_subscriptions AS s, userdb.users AS u
WHERE u.userid = UIDD
AND l.listid = '$LIST_ID_TO_LOOKUP'
AND s.userid = u.userid
AND s.listid = l.listid) = 0
ORDER BY u.starting_year DESC, u.lastname, u.name;

这一切都很好,直到我搬到新服务器并更新了许多组件,包括 MySQL。

现在运行此查询时出现错误:

#1054 - Unknown column 'UIDD' in 'where clause'

这可能是现在已弃用的旧语法的问题吗?我现在运行的是 MySQL 5.5.24。

最佳答案

像这样,SELECT .. WHERE userid NOT IN(子查询)

SELECT 
u.userid,
u.username,
u.mail,
u.name,
u.lastname,
u.starting_year,
u.userid AS UIDD
FROM
userdb.users AS u
WHERE
u.userid NOT IN (
SELECT
u.userid
FROM
maildb.lists AS l,
maildb.list_subscriptions AS s,
userdb.users AS u
WHERE
u.userid = u.userid
AND l.listid = '$LIST_ID_TO_LOOKUP'
AND s.userid = u.userid
AND s.listid = l.listid
)
ORDER BY
u.starting_year DESC, u.lastname, u.name;

关于php - 将用户 ID 传递给嵌套查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13038187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com