gpt4 book ai didi

MySQL一对多选择

转载 作者:行者123 更新时间:2023-12-01 00:37:03 26 4
gpt4 key购买 nike

我在表 A(单表)和表 B(多表)之间存在一对多关系。

我想查询表 A,只返回表 A 中至少在表 B 中有一行的条目。

我认为这可能是一个内部联接,但我仍然为表 B 中的每个条目返回一行。

SELECT * FROM categories.* INNER JOIN images ON images.category_id = categories.id

这是我当前的查询,我假设它是一个我需要添加的 WHERE 子句,但我不知道是什么。

很抱歉,这是一个如此简单的问题,我自己找不到答案,我想我的措辞有误。

最佳答案

要获取表 b 中至少有一个关联的类别数据(不是图像数据),您可以执行如下操作

SELECT c.* 
FROM categories c
INNER JOIN images i ON i.category_id = c.id
GROUP BY c.id
HAVING COUNT(DISTINCT i.id) > 0

或者没有聚合只是 distinct 和 join

SELECT DISTINCT  c.* 
FROM categories c
INNER JOIN images i ON i.category_id = c.id

关于MySQL一对多选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46443962/

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