我需要从sql表中提取一列并将其复制到另一个带有多个值的表中。例如,在源表上我选择Col1,并将第一列自动增量复制到结果表,第二列是从源复制的列值,第三列是另一个数值,但我们需要创建3条记录每个复制列值的值为10,20和30。
来源表:
+--------+---------+------+
| Col1 | Col2 | Col3 |
+--------+---------+------+
| Value1 | Value10 | 123 |
| Value2 | Value20 | 123 |
| Value3 | Value30 | 123 |
+--------+---------+------+
二级表:
+------+--------+-------+
| ColI | Col1 | ColII |
+------+--------+-------+
| 1 | Value1 | 10 |
| 2 | Value1 | 20 |
| 3 | Value1 | 30 |
| 4 | Value2 | 10 |
| 5 | Value2 | 20 |
| 6 | Value2 | 30 |
+------+--------+-------+
在此方案中应用哪些查询(MS SQL)?第二个表已使用自动增量第一列创建,多个值始终为(10,20和30)。
答案 0 :(得分:1)
查询: 的 SQLFIddleExample 强>
SELECT t1.Col1, t2.COLII
FROM Table1 t1
CROSS JOIN (SELECT 10 as COLII
UNION ALL
SELECT 20 as COLII
UNION ALL
SELECT 30 as COLII) t2
结果:
| Col1 | COLII |
|--------|-------|
| Value1 | 10 |
| Value1 | 20 |
| Value1 | 30 |
| Value2 | 10 |
| Value2 | 20 |
| Value2 | 30 |
| Value3 | 30 |
| Value3 | 10 |
| Value3 | 20 |