gpt4 book ai didi

mysql - 多个表 JOIN 上的 MySQL 查询问题

转载 作者:行者123 更新时间:2023-11-30 22:09:02 25 4
gpt4 key购买 nike

<分区>

下面是一些sql表:

表用户

id
1

表格项目

id
1

表格位置

id
1
2

表 USERS_x_PROJECTS

id      id_USER      id_PROJECT
1 1 1

表 USERS_x_LOCATIONS

id      id_USER      id_LOCATION
1 1 1

表 PROJECTS_x_LOCATIONS

id      id_PROJECT      id_LOCATION
1 1 1
2 1 2

用户链接到项目。用户和项目之间的链接存储在 USERS_x_PROJECTS 中。
用户和项目可以链接到位置。这些链接分别存储在 USERS_x_LOCATIONS 和 PROJECTS_x_LOCATIONS 中。

现在假设我是用户#1。我想要做的是获取所有项目及其位置,其中没有一个项目的位置与我的位置匹配。

预期结果:对于上面的示例,预期结果是获得一个空数组,因为用户和数据库中唯一的项目都链接到位置 #1。

实际结果:我得到了项目#1

我尝试了什么:

SELECT
p.id id,
GROUP_CONCAT(DISTINCT l.id SEPARATOR "#") l_ids
FROM
PROJECTS p
LEFT JOIN
PROJECTS_x_LOCATIONS pl ON pl.id_PROJECT = p.id
LEFT JOIN
LOCATIONS l ON l.id = pl.id_LOCATION
WHERE
l.id != 1
GROUP BY
p.id

感谢您的帮助!

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