gpt4 book ai didi

MySQL 从同一个表中选择具有多个值的条目

转载 作者:行者123 更新时间:2023-11-29 02:10:29 28 4
gpt4 key购买 nike

我有两个表(如下所示),我想加入它们并从第二个表中选择具有多个值的人。第一个表是所有人及其唯一 ID 的列表,第二个表是人们最喜欢的颜色的列表。

表 A.:唯一 ID |姓名

+-----+-------------+
| uid | name |
+-----+-------------+
| 321 | Ana |
| 662 | Nick |
| 003 | Fred |
+-----+-------------+

表 B.:表 ID |唯一编号 |颜色标识

+----------+--------+-----------+
| id | uid | color_id |
+----------+--------+-----------+
| 1 | 121 | 1 |
| 2 | 127 | 2 |
| 3 | 003 | 11 |
| 4 | 002 | 11 |
| 5 | 111 | 3 |
| 6 | 044 | 5 |
| 7 | 003 | 5 |
| 8 | 003 | 8 |
+----------+--------+-----------+

所以我只想选择匹配所有给定颜色的用户 (uid),例如 11 和 8(红色和紫红色)。在这种情况下,这将是用户 003 | Fred,每个匹配项只有 1 行,而不是多个(对于每个值)。

我尝试使用 where color_id IN (x,y,z...) 但这将返回列表中至少有 1 种颜色的任何

最佳答案

你可以试试下面-

select uniqueid, name from tableA a
inner join tableB b on a.uniqueid=b.uid
where color_id in (11,8)
group by uniqueid, name
having count(distinct color_id)=2

关于MySQL 从同一个表中选择具有多个值的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54125979/

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