我正在尝试构建一个从几个不同的表(使用JOIN)中提取数据的查询,而我只是遇到了一些问题。
这是SQL查询...
SELECT Import_Values.id,
Import_Values.base_vehicle_id,
Import_Values.part_type_id,
Import_Values.position,
Import_Values.part_id,
Import_Values.part_number,
Import_Values.brand_id,
Import_Values.brand_description,
Import_Values.series_id,
Import_Values.worldpac_category_id,
Import_Values.price,
Import_Values.list_price,
Import_Values.core,
Import_Values.available,
Import_Values.weight,
Import_Values.height,
Import_Values.length,
Import_Values.width,
Import_Values.selling_increment,
Import_Values.popularity,
Import_Values.qty,
Import_Values.description_line_two,
Import_Values.detailed_description,
Import_Values.image_url,
Import_Values.thumb_url,
Import_Values.note,
BaseVehicle.YearID,
BaseVehicle.MakeID,
BaseVehicle.ModelID,
Make.MakeName
FROM
Import_Values
INNER JOIN BaseVehicle
ON Import_Values.base_vehicle_id=BaseVehicle.BaseVehicleID
从表'BaseVehicle'获取MakeID后,我想抓住分配给ID但不在同一个表中的'MakeName'。 MakeName位于另一个名为'Make'的表中,表结构就是这样......
[MakeID] [MakeName]
1 Suzuki
2 Porsche
我以为我会像其他人一样做另一个内联......
INNER JOIN Make ON BaseVehicle.MakeID=Make.MakeID
这没用,所以我希望有人可以帮助我。
答案 0 :(得分:2)
您的解决方案应该有效。
除非BOTH表中的行存在,否则INNER JOIN不会选择任何行。
我相信您的问题是Make表和BaseVehicle表中的ID不匹配。
尝试运行左连接以查看哪些行显示为空。