SQL生成列的组合

时间:2017-07-04 19:33:08

标签: sql sql-server tsql

我在SQL表中有一堆列。我想要做的是返回表格中所有可能的条目组合,所以:让我们说第1列有“猫,狗,马”,第2列有“红色,绿色,蓝色”,我想返回一张表说:

Cat Red
Cat Green
Cat Blue
Dog Red
Dog Green
Dog Blue
Horse Red
Horse Green
Horse Blue

等等。

我如何在SQL-Server中完成此任务?

感谢。我应该提到一些列包含不同的类型,所以我认为union不会起作用!

1 个答案:

答案 0 :(得分:4)

这称为cross join

例子查询:

SELECT table1.column1, table2.column2 FROM table1 CROSS JOIN table2

它应该产生你期望的结果。

如果您有一个表(就像您的情况一样),您可以使用这样的别名

SELECT table1.column1, table2.column2 FROM table1 CROSS JOIN table1 as table2