gpt4 book ai didi

mysql - SQL SELECT Q - 检索记录

转载 作者:行者123 更新时间:2023-11-30 00:24:47 25 4
gpt4 key购买 nike

我有一个表,其中包含由项目 ID 列和包含用户唯一用户 ID 的 user_assignment 列表示的项目分配。如果用户在用户分配表中具有与项目 ID 关联的记录,则用户将被分配到项目。我想检索未分配给特定用户的所有项目,而不获取重复记录,因为有许多用户分配给了项目。

虽然这些示例只会检索每个项目的一条记录,但它会返回用户“abc123”所属和未分配的项目。我需要检索用户未分配到的项目 ID。

SELECT DISTINCT `propid` 
FROM `user_assignments`
WHERE `userid` <> 'abc123'
ORDER BY `propid` ASC

SELECT DISTINCT `propid`
FROM `user_assignments`
WHERE (`userid` <> 'abc123')
ORDER BY `propid` ASC

我确信有一个非常简单的解决方案,但我没有看到它。

最佳答案

以下查询可能会为您解决问题。

SELECT DISTINCT `propid` 
FROM `user_assignments` ua1
WHERE NOT EXISTS
(SELECT 1
FROM `user_assignments` ua2
WHERE ua1.propid = ua2.propid
AND ua1.`userid` = 'abc123')
ORDER BY `propid`;

关于mysql - SQL SELECT Q - 检索记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22972581/

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