gpt4 book ai didi

mysql - 选择不同值 ColumnA,同时 ColumnB = Value1 且 ColumnB = Value2

转载 作者:行者123 更新时间:2023-11-29 14:19:39 24 4
gpt4 key购买 nike

这是表格

mysql> desc tags;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| content_id | int(11) | NO | | NULL | |
| name | varchar(100) | NO | | NULL | |
+------------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

一些数据

mysql> select * from tags;
+----+------------+---------------+
| id | content_id | name |
+----+------------+---------------+
| 1 | 36 | banana |
| 2 | 36 | strawberry |
| 3 | 36 | orange |
| 4 | 36 | apple |
| 5 | 36 | watermelon |
| 6 | 37 | qiwi |
| 7 | 37 | apple |
| 8 | 37 | orange |
| 9 | 37 | bed |
| 10 | 38 | grape |
| 11 | 38 | apple |
+----+------------+---------------+
11 rows in set (0.00 sec)

我想要的是获取唯一的 content_id 列表,其中 name 是 apple 并且 content_id 也与 ORANGE 相关联。

因此,在这个示例中,如果我想知道哪些 content_ids 被标记为“apple”和“orange”,则会导致:

+------------+
| content_id |
+------------+
| 36 |
| 37 |
+------------+

因为这是仅有的两个已相应标记的 content_id。最好的方法是什么?

最佳答案

您可以左连接 content_id 上的表,其中它的名称也如下所示:

select tbl.content_id
from tags tbl
left join tags tbl2 on tbl2.content_id = tbl.content_id and tbl2.name = 'orange'
where tbl.name = 'apple' and tbl2.name is not null
group by tbl.content_id

仅返回存在由 tbl2.name is not null 子句指示的相应联接的行。

关于mysql - 选择不同值 ColumnA,同时 ColumnB = Value1 且 ColumnB = Value2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11966465/

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