MySQL,对第一列中的每个值重复所有值
对不起,我甚至不知道怎么问,但这就是问题所在。我有一张30排的小桌子 我想从一列中选择所有值,并使用每个值带来另一列中的所有值,重复 让我举个小例子,这是我的表和值:MySQL,对第一列中的每个值重复所有值,mysql,Mysql,对不起,我甚至不知道怎么问,但这就是问题所在。我有一张30排的小桌子 我想从一列中选择所有值,并使用每个值带来另一列中的所有值,重复 让我举个小例子,这是我的表和值: [column color] / [column qtd] blue / 3 red / 5 gray / 7 yellow / 2 我希望在SELECT查询中显示该结果: blue / 3 blue / 5 blue / 7 blue / 2 red / 3 red / 5 red / 7 red / 2 gray / 3 g
[column color] / [column qtd]
blue / 3
red / 5
gray / 7
yellow / 2
我希望在SELECT查询中显示该结果:
blue / 3
blue / 5
blue / 7
blue / 2
red / 3
red / 5
red / 7
red / 2
gray / 3
gray / 5
gray / 7
gray / 2
yellow / 3
yellow / 5
yellow / 7
yellow / 2
它将从column color中获取所有值,并为每个不同的颜色值重复从qtd中获取所有值
对不起,这有点难以解释:(
但是谢谢。您可以对子查询执行
交叉联接
,该子查询从同一个表返回不同的qtd
。这将导致子查询中的所有行与不同颜色的所有行联接
SELECT DISTINCT
color,
q.qtd
FROM
/* Assuming your table is `color` */
color
/* CROSS JOIN (like an inner join with no ON clause) */
CROSS JOIN (
SELECT DISTINCT qtd FROM color
) q
ORDER BY color, q.qtd
下面是一个演示:您似乎想要表中两个值的所有组合。使用交叉连接和不同的:
select c.color, q.qtd
from (select distinct color from table t) c cross join
(select distinct qtd from table t) q
太好了,非常感谢。交叉加入,另一个需要学习的东西。谢谢:)