MySQL:非唯一表/别名:“产品”
我试图构建SQL查询来选择图像列,其中产品id来自两个不同的表 以下是我的数据库架构: 我想从ixml_prd_map.id_oc_prd中选择产品的图像。我需要从这里到product_image.image 在图片上,你可以看到我正在努力做什么,这是我到目前为止所做的,但它不起作用。错误:MySQL:非唯一表/别名:“产品”,mysql,Mysql,我试图构建SQL查询来选择图像列,其中产品id来自两个不同的表 以下是我的数据库架构: 我想从ixml_prd_map.id_oc_prd中选择产品的图像。我需要从这里到product_image.image 在图片上,你可以看到我正在努力做什么,这是我到目前为止所做的,但它不起作用。错误: Not unique table/alias: 'product' SELECT product_image.image FROM (product INNER JOIN ixml_prd_map ON
Not unique table/alias: 'product'
SELECT product_image.image FROM (product INNER JOIN ixml_prd_map ON product.sku = ixml_prd_map.id_oc_prd) INNER JOIN product ON product_image.product_id = product.product_id
您必须使用产品图片进行连接
实际上,您不止一次地加入表产品 在这种情况下,您必须给它一个别名 例如:
SELECT *
FROM product product1
...
INNER JOIN product product2
...
您提供的代码的示例:
SELECT product_image.image
FROM product product1
INNER JOIN ixml_prd_map
ON product1.sku = ixml_prd_map.id_oc_prd
INNER JOIN product product2
ON product2.product_id = product_image.product_id
太好了,谢谢。还有一个问题:如何删除结果?我试图用DELETE替换SELECT,但是我在多重删除中得到了错误未知的表。您需要在删除时使用join,例如,对于上面的选择,如果您想从产品表中删除,它将作为从产品p中删除p在I.id上join ixml\U prd\U prd=p.sku在pi上join product\U image pi在pi.product\U id=p.product\U id上但是如果您创建了一个问题,那么具体是什么完成后,提供解决方案会更容易。
SELECT product_image.image
FROM product product1
INNER JOIN ixml_prd_map
ON product1.sku = ixml_prd_map.id_oc_prd
INNER JOIN product product2
ON product2.product_id = product_image.product_id