gpt4 book ai didi

MySQL 2列NOT IN(一项数组)

转载 作者:行者123 更新时间:2023-11-29 16:23:34 25 4
gpt4 key购买 nike

我有一个查询,其中列 1 和列 2 不应在数组中具有值。该数组是根据单个值(用户 ID)以及 2 个子查询和联合创建的。

到目前为止,它看起来像这样:

WHERE (`user`, `viewed`) NOT IN (
SELECT `id` FROM `users` WHERE `role` = 3 UNION
SELECT `user_id` FROM `groups_memberships` WHERE `group_id` = 3
)

这样它会抛出基数错误,因为它期望每个项目有 2 个值。我知道可以通过分离这两列(userviewed)来完成,但这需要 2 个额外的子查询,这可能不是最好的解决方案。

是否有其他方法可以过滤掉列 user 和列viewed 不在用户 ID 数组中的结果???

谢谢

最佳答案

您可以尝试以下 -

WHERE (`user`, `viewed`) NOT IN (
SELECT `id`,null as userid FROM `users` WHERE `role` = 3 union
SELECT null,`user_id` FROM `groups_memberships` WHERE `group_id` = 3
)

关于MySQL 2列NOT IN(一项数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54395816/

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