gpt4 book ai didi

mysql - SQL JOIN 重复行

转载 作者:行者123 更新时间:2023-11-29 06:13:07 26 4
gpt4 key购买 nike

我正在尝试连接 2 个表并为每个项目获取一行。评级的默认值为 45。每次类别中存在不同的评级时,每个项目行都会重复。下面是一个示例架构、数据和结果。

表1
--------------------------
奥菲德|项目 |类别
--------------------------
1 |项目1 |猫1
2 |项目2 |猫1
3 |项目3 |猫1

表2
----------------------------
奥菲德|评级|类别
----------------------------
1 | 37 | 37猫1
2 | 42 | 42猫1
3 | 45 | 45猫1

结果
------------------------------------------------
奥菲德|项目 |评级|类别
------------------------------------------------
1 |项目1 | 37 | 37猫1
1 |项目1 | 42 | 42猫1
1 |项目1 | 45 | 45猫1
2 |项目2 | 37 | 37猫1
2 |项目2 | 42 | 42猫1
2 |项目2 | 45 | 45猫1
3 |项目3 | 37 | 37猫1
3 |项目3 | 42 | 42猫1
3 |项目3 | 45 | 45猫1

预期结果
------------------------------------------------
奥菲德|项目 |评级
------------------------------------------------
1 |项目1 | 37
2 |项目2 | 42
3 |项目3 | 45

查询:
SELECT p.ofid,p.item,r. rating FROM table1 AS p INNER JOIN table2 AS r ON p.category = r.category WHERE p.category = "cat1"GROUP BY p.ofid,p.category, r.评级

我尝试过添加 DISTINCT、JOIN、LEFT JOIN、RIGHT JOIN...有帮助吗?

提前致谢。

最佳答案

根据您想要的预期结果,我相信您加入了错误的领域。下面应该可以工作。

Select
p.ofid,
p.item,
r.rating
From table1 p
Inner Join table2 r On r.ofid = p.ofid
where p.category ="cat1"

关于mysql - SQL JOIN 重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8146388/

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