This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center。
6年前关闭。
当街道地址和邮编在两个表之间匹配时,我试图从CM_MASTER表返回具有匹配的LOCATIONGUID记录的PP表中的所有列。上面的代码返回错误:
我在phpMyAdmin中运行此查询。
有人可以指出我的方向吗?
编辑:
cm_master表具有address1,zip和LOCATIONGUID列。
pp表具有addr和zip列。
如果pp.addr = cm_master.address1和pp.zp = cm_master.zip,则
返回与cm_master.LOCATIONGUID联接到查询中的记录。
这可能吗?
对此
完整的查询将是:
编辑,尚不清楚您的表结构是什么,但是您是否需要
6年前关闭。
SELECT * FROM `PP`
INNER JOIN `CM_MASTER`.`LOCATIONGUID`
ON `PP`.`ADDR` = `CM_MASTER`.`ADDRESS1`
AND `PP`.`ZIP` = LEFT(`CM_MASTER`.`POSTALCODE`,5);
当街道地址和邮编在两个表之间匹配时,我试图从CM_MASTER表返回具有匹配的LOCATIONGUID记录的PP表中的所有列。上面的代码返回错误:
#1142 - SELECT command denied to user 'ameridw5'@'localhost' for table 'LOCATIONGUID'
我在phpMyAdmin中运行此查询。
有人可以指出我的方向吗?
编辑:
cm_master表具有address1,zip和LOCATIONGUID列。
pp表具有addr和zip列。
如果pp.addr = cm_master.address1和pp.zp = cm_master.zip,则
返回与cm_master.LOCATIONGUID联接到查询中的记录。
这可能吗?
最佳答案
您的语法错误。您需要将LEFT
放在table_name.column_name
周围,而不是将table_name和column_name分开。
所以改变
CM_MASTER.LEFT(POSTALCODE,5)
对此
LEFT(CM_MASTER.POSTALCODE,5)
完整的查询将是:
SELECT *
FROM `PP`
INNER JOIN `CM_MASTER`
ON `PP`.`ADDR` = `CM_MASTER`.`ADDRESS1`
AND `PP`.`ZIP` = LEFT(`CM_MASTER`.`POSTALCODE`,5) ;
编辑,尚不清楚您的表结构是什么,但是您是否需要
LocationGUID
,那么可能还需要添加该列:SELECT *
FROM `PP`
INNER JOIN `CM_MASTER`
ON `PP`.`LOCATIONGUID` = `CM_MASTER`.`LOCATIONGUID`
AND `PP`.`ADDR` = `CM_MASTER`.`ADDRESS1`
AND `PP`.`ZIP` = LEFT(`CM_MASTER`.`POSTALCODE`,5) ;
关于mysql - 带有INNER JOIN的MySQL错误#1142 ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16345199/