抱歉,我什至不知道该怎么问,但这就是事实。我有一张有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
gray / 5
gray / 7
gray / 2
yellow / 3
yellow / 5
yellow / 7
yellow / 2
它从列颜色中获取所有值,并从qtd中为所有不同的颜色值重复生成所有值。
抱歉,很难解释:(
但是,谢谢。
您可以CROSS JOIN
针对DISTINCT qtd
从同一表返回的子查询执行。这将导致子查询中的所有行都与的所有行连接在一起DISTINCT color
。
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
这是一个演示:http : //sqlfiddle.com/#!2/42342/3
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句