表可视化
旧车
carId | color | etc // Column Name
1 | red | *
2 | blue | *
3 | teal | *
4 | red | *
汽车颜色
colorId | color | etc // Column Names
1 | blue | *
2 | teal | *
3 | red | *
新车
carId | colorId | etc // Column Names
我正在尝试规范化数据库。我想做的是从oldCars
插入到newCars
的每一行中,但我想使用carColors
表中的主键colorId
,而不是仅使用颜色名称。
结果看起来像这样...
新车
carId | colorId | etc // Column Names
1 | 3 | *
2 | 1 | *
3 | 2 | *
4 | 3 | *
这种说法似乎微不足道,但我想不通。
这只是
一个简单的JOIN
,使用颜色名称作为连接条件。
INSERT INTO newCars
SELECT o.carID, c.colorID, o.etc
FROM oldCars AS o
JOIN carColors AS c ON c.color = o.color