我有一个关于从相同的两个表中连接多个数据的问题。
第一个表名为imagedata
,它包含以下列:
ID|image_blob|mimetype|image_UUID
第二个表名为price_history
,它包含以下列:
price1|price2|image_name_homePage|image_name_loginPage|image_name_footer
我想要提取的是image_blob
表中的imagedata
imagedata.ID=price_history.image_name_homePage
和
imagedata.ID=price_history.image_name_loginPage
和
imagedata.ID=price_history.image_name_footer
基本上,我想要实现的是一个结果,它会显示imagedata
imagedata.id
等于price_history."price_history.image_*"
的所有图像blob
我似乎无法做对。我得到一个空洞的结果。
这是我目前的查询:
SELECT
imagedata.`image_blob` as "blobA",
imagedata.`image_blob` as "blobB",
imagedata.`image_blob` as "blobC",
FROM
imagedata
JOIN price_history AS price_historyA ON imagedata.`ID`=price_historyA.`image_name_homePage`
JOIN price_history AS price_historyB ON imagedata.`ID`=price_historyB.`image_name_loginPage`
JOIN price_history AS price_historyC ON imagedata.`ID`=price_historyB.`image_name_footer`
答案 0 :(得分:0)
您的查询已关闭,但您需要多次加入imagedata
表格,如下所示,请注意其使用left join
代替内部联接,以便{{1}时缺少某些图片值你仍然可以得到其他可用图像的结果。如果您的数据库始终包含price_history
上所有图片的数据,相应的项目将位于price_history
,那么您只需使用imagedata
代替join
}
left join
答案 1 :(得分:0)
你应该尝试:
SELECT
imagedata.`ID`,
imagedata.`image_blob`
FROM
imagedata
JOIN price_history AS price_historyA ON imagedata.`ID`=price_historyA.`image_name_homePage`
AND imagedata.`ID`=price_historyA.`image_name_loginPage`
AND imagedata.`ID`=price_historyA.`image_name_footer`
如果你想要的是所有三列都等于imagedata.ID
我上传截图以显示问题: