0
我想要使用4个连接将一些表加入到一个表中。如何:加入多个表并将所需列插入到一个MySQL中
的表是:
车辆
vehicleId
make
model
year
cylinders
displacement
drive
engid
eng_dscr
trany
mpgHighway
mpgCity
fuelCostAnnual
fuelType
fuelType1
vClass
vehicledrive
driveId
driveName
vehiclefueltype
fuelId
fuelName
vehiclemake
makeId
makeName
vehiclemodel
modelId
modelName
我有一个新的表,vehiclenormal,其归一化车辆表,并且使用其他3代表作为look-重复价值。
到目前为止,我已经是联接中的所有表的语句:
select vehicle.*, vehicledrive.*, vehiclefueltype.*, vehiclemake.*, vehiclemodel.*
from vehicle
join vehicledrive
on vehicle.drive = vehicledrive.driveName
join vehiclefueltype
on vehicle.fueltype = vehiclefueltype.fuelname
join vehiclemake
on vehicle.make = vehiclemake.makename
join vehiclemodel
on vehicle.model = vehiclemodel.modelname
order by vehicle.vehicleid
我的问题是,我不知道如何添加插入语句。我知道我可以使用insert into ... select,但是如何根据连接的结果指定要插入的列和行?
编辑:好吧,我已经找到了如何只选择我要插入的数据,我想下面的查询:
insert into vehiclenormal (makeid, modelid, year, cylinders, driveid, mpghighway, mpgcity, fueltypeid)
(select makeid, modelid, year, cylinders, driveid, mpghighway, mpgcity, fuelid
from vehicle
join vehicledrive on vehicledrive.driveName = vehicle.drive
join vehiclefueltype on vehiclefueltype.fuelName = vehicle.fueltype
join vehiclemake on vehiclemake.makeName = vehicle.make
join vehiclemodel on vehiclemodel.modelname = vehicle.model);
但HeidiSQL是说有超过21,000的错误。为什么不插入值?
其实我只是试图插入进去,但我得到了什么,但警告。我刚刚编辑了我的原始帖子。 –
我没有在例子中包含车辆中的所有列,但希望你知道无论如何... –
a,b,c,d,e的意义是表名,对吗?如果是这样,为什么需要这么明确? –