我有2个表,一个有2列产品ID(旧的和新的)需要相互映射,另一个表包含所有产品信息,包括相应的产品ID。我正在尝试运行查询以仔细检查产品是否正确匹配并且它无法正常工作,我需要返回的结果以显示旧ID和newid以及完整的产品信息。
以下是我使用的其他一些查询拼凑而成的内容,但我不确定我是否正确进行双连接。
SELECT `VinylOld2New`.`Old ID`, `asi_VinylOld2New`.`New ID`, old.`title`, new.`title`, old.`number`, new.`number`, old.`image`, new.`image`, old.`added`, new.`added`
FROM `ii_Product` old, `ii_Product` new
INNER JOIN `VinylOld2New` ON
old.`id` = `VinylOld2New`.`Old ID` OR new.`id` = `VinylOld2New`.`New ID`
答案 0 :(得分:1)
INNER JOIN
或,
表示法。 (最好是较新的标准)OR
的使用似乎意味着您希望所有来自vinylOld2New的记录以及只有那些在ii_product(旧的或新的)中匹配的记录,但这是一个猜测。asi_VinylOld2New
。New ID
但没有此类表格。那么选择错误的表还是from?
SELECT `VinylOld2New`.`Old ID`
, `VinylOld2New`.`New ID`
, old.`title`
, new.`title`
, old.`number`
, new.`number`
, old.`image`
, new.`image`
, old.`added`
, new.`added`
FROM `VinylOld2New`
LEFT JOIN `ii_Product` old
ON old.`id` = `VinylOld2New`.`Old ID`
LEFT JOIN `ii_Product` new
ON new.`id` = `VinylOld2New`.`New ID`