Sql 如何在一条语句中使用一些静态数据将数据从一个表插入到另一个表中?

Sql 如何在一条语句中使用一些静态数据将数据从一个表插入到另一个表中?,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有一辆桌子车,如下所示 Car_ID | Car_Name 样本数据 Car_ID Car_Name 1 Honda City 2 Ferrari 3 Mercedes 4 Rolls Royce 我在汽车表中有数据。现在我有其他表车详细信息如下 Car_Detail_ID | Car_ID | Car_Color 现在,我必须将数据从Car插入Car_细节,其中Car_颜色将是默认值。如何在单个语句中实现这一点 预期

我有一辆桌子车,如下所示

Car_ID | Car_Name
样本数据

Car_ID    Car_Name
1         Honda City
2         Ferrari
3         Mercedes
4         Rolls Royce
我在汽车表中有数据。现在我有其他表车详细信息如下

Car_Detail_ID | Car_ID | Car_Color
现在,我必须将数据从Car插入Car_细节,其中Car_颜色将是默认值。如何在单个语句中实现这一点

预期结果

Car_Detail_ID   Car_ID    Color
1               1         Red
2               2         Red
3               3         Red
4               4         Red
Car_Detail_ID   Car_ID    Color_ID
1               1         1
2               2         1
3               3         1
4               4         1
5               1         2
6               2         2
7               3         2
8               4         2
9               1         3
10              2         3
11              3         3
12              4         3
13              1         4
14              2         4
15              3         4
16              4         4
编辑 样本数据

Car_ID    Car_Name
1         Honda City
2         Ferrari
3         Mercedes
4         Rolls Royce
汽车表

Car_ID    Car_Name
1         Honda City
2         Ferrari
3         Mercedes
4         Rolls Royce
Color_ID    Color_Name
1           Red
2           Yellow
3           Blue
4           Green
颜色表

Car_ID    Car_Name
1         Honda City
2         Ferrari
3         Mercedes
4         Rolls Royce
Color_ID    Color_Name
1           Red
2           Yellow
3           Blue
4           Green
预期结果

Car_Detail_ID   Car_ID    Color
1               1         Red
2               2         Red
3               3         Red
4               4         Red
Car_Detail_ID   Car_ID    Color_ID
1               1         1
2               2         1
3               3         1
4               4         1
5               1         2
6               2         2
7               3         2
8               4         2
9               1         3
10              2         3
11              3         3
12              4         3
13              1         4
14              2         4
15              3         4
16              4         4

使用
INSERT INTO…SELECT
语句,下面的查询假设
Car\u Detail\u ID
是一个自动递增的列,
Color
的默认值为
Red

INSERT INTO Car_Detail (Car_ID)
SELECT Car_ID
FROM Car
但如果不是

INSERT INTO Car_Detail (Car_ID, Color)
SELECT Car_ID, 'Red' Color
FROM Car
或者像这样的

INSERT INTO Car_Detail (Car_Detail_ID, Car_ID, Color)
SELECT Car_ID, Car_ID, 'Red' Color
FROM Car
更新1

使用
交叉连接

INSERT INTO CAr_Detail(Car_ID, Color_ID)
SELECT  Car_ID, Color_ID
FROM Car CROSS JOIN Color

如果我们必须从两个表中添加,那么?尽管上述代码工作正常。记录源来自两个表或记录的目的地是两个表?假设car_detail包含两个表,您可以在select或JOIN中使用
UNION
,您可以显示smple数据吗?好的,我正在更新相关数据