gpt4 book ai didi

sql - 将相似的行与两个相同的值组合起来

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

我有三个表:用户、产品和评论。我正在尝试形成一个表格,该表格将显示从不同用户那里获得相同评论的产品、评论它的用户以及它得到的评论。以下是我正在寻找的表格和输出:

Users  
uid uname
1 name1
2 name2
3 name3
4 name4

Products
pid pname
1 A
2 B
3 C
4 D

Reviews
pid uid grade
1 1 3
1 2 2
1 3 3
2 1 4
3 2 1
2 2 4
4 3 1

期望的输出:

uname  uname2  pname  grade  
name1 name3 A 3
name3 name1 A 3
name1 name2 B 4
name2 name1 B 4

最佳答案

这里有一些过于复杂的答案。

使用这样的自连接非常简单:

select u1.uname, u2.uname, p.pname, r1.grade
from review r1
join review r2 on r2.pid=r1.pid and r2.grade=r1.grade and r2.uid<>r1.uid
join products p on p.pid=r1.pid
join users u1 on u1.uid=r1.uid
join users u2 on u2.uid=r2.uid
order by pname, r1.grade, u1.uname, u2.uname

结果:

uname   uname1  pname   grade
name1 name3 A 3
name3 name1 A 3
name1 name2 B 4
name2 name1 B 4

关于sql - 将相似的行与两个相同的值组合起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52773369/

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