gpt4 book ai didi

mysql - SQL 查找所有同源类别

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

我在 Category 和 Item 之间有一个多对多的关系,它是用“category_item”表实现的,有 2 列(PK):category_iditem_id.

两个同源类别有相同的项目(顺序无关):

A
1
2

同源

B
1
2

但不是

C       D       E
1 1 1
3 2
3

给定类别 ID,如何找到所有同源类别?


假设 item_category 中的数据:

A   1
A 2
B 1
B 2
C 1
C 3
D 1
E 1
E 2
E 3

我想找到与A同源的所有类别(预期结果只是B)

我目前正在尝试类似的东西:

select r2.category_id
from category_item r1, category_item r2
where r1.category_id = ?
and r2.category_id <> r1.category_id
and r1.item_id = r2.item_id

构建表格:

A   1   B   1
A 1 C 1
A 1 D 1
A 1 E 1
A 2 B 2
A 2 D 2
A 2 E 2

但我不知道如何继续......


我正在使用 MySQL 5.7,但我想只使用通用 SQL。

请注意,这不是作业(我也不认为任何老师会布置如此复杂的作业),它只是针对现实世界问题的一个额外简化的用例

最佳答案

为什么不使用 Group_Concat()然后分组?

select ColA, group_concat(ColB order by ColB separator '|') as concat_line
from CategoryItem
group by ColA

如果你把它停在某个地方,你可以将它与它自己进行比较。

关于mysql - SQL 查找所有同源类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39661973/

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