Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:非唯一表/别名:“产品”_Mysql - Fatal编程技术网

MySQL:非唯一表/别名:“产品”

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

我试图构建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 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