我的表格包含字段id_osztaly
,id_csoportositas
和name
(以及其他一些字段但不重要)。
我想创建一个包含以下结果的查询:我想要合并name
个字段。我无法解释所以我举了一个例子:
表格中的数据(id_osztaly
,id_csoportositas
和name
订单):
1,1,Group1A
1,1,Group1B
1,2,Group2A
1,2,Group2B
我想要name
的跟进组合:
Group1A-Group2A
Group1A-Group2B
Group1B-Group2A
Group1B-Group2B
(类似于排列)。我可以用JOIN
做到这一点,没关系。但当我有三个不同的id_csoportositas
值时:
1,1,Group1A
1,1,Group1B
1,2,Group2A
1,2,Group2B
1,3,Group3A
1,3,Group3B
1,3,Group3C
我想:
Group1A-Group2A-Group3A
Group1A-Group2A-Group3B
Group1A-Group2A-Group3C
Group1A-Group2B-Group3A
Group1A-Group2B-Group3B
Group1A-Group2B-Group3C
Group1B-Group2A-Group3A
Group1B-Group2A-Group3B
Group1B-Group2A-Group3C
Group1B-Group2B-Group3A
Group1B-Group2B-Group3B
Group1B-Group2B-Group3C
是的,这是双重加入。但我不知道表中有多少不同的id_csoportositas
。第一次点击我认为我需要与JOIN
不同的id_csoportositas
相同数量的PHP
。
(my)sql中是否有任何技巧可以执行此操作,还是应该在for
中使用JOIN
- 循环执行此操作?
编辑也许我不清楚。我知道我怎么能id_csoportositas
同桌两次或三次。如果我有两个不同的JOIN
我只需要一个id_csoportositas
。如果我有三个不同JOIN
我需要两个id_csoportositas
- 我也可以这样做。但我不知道有多少JOIN
存在,所以我不知道需要多少JOIN
。 id_csoportositas
s的数量取决于不同id_csoportositas
的数量,如果没有查询,我不知道id_osztaly
的数量。
我希望按id_osztaly
进行分组,不同的id_csoportositas
有不同的{{1}}。
我希望现在很清楚。
答案 0 :(得分:0)
不会有这样的工作:
SELECT * FROM
(
(SELECT * FROM table WHERE something = 1) a,
(SELECT * FROM table WHERE something = 2) b,
(SELECT * FROM table WHERE something = 3) c
)
您只需选择这样,它就会提供所有可能的连接变体:)