MySQL加入2条件错误

时间:2013-11-08 11:19:57

标签: mysql

我无法弄清楚为什么我在下面的mySQL语句(在php文件中)出现SQL错误。我认为问题涉及第二个条件'AGREEDPRODUCTS.productid_corporation为null'。我检查了所使用参数的语法是否正确,如数据库中所使用的那样。关于第二个条件,我也尝试了其他替代方法(比如使用WHERE,但显然不允许这样做; MySQL join with where clause)但是那些不起作用。

$sqlquery4 = "SELECT AGREEDPRODUCTS.id,AGREEDPRODUCTS.productid_supplier,EMETERPRODUCTS.productname "
                . "FROM AGREEDPRODUCTS "
                . "INNER JOIN EMETERPRODUCTS "    
                . "ON AGREEDPRODUCTS.productid_supplier=EMETERPRODUCTS.productid AGREEDPRODUCTS.producttype='EMETER' AND AGREEDPRODUCTS.productid_corporation is null "
                . "ORDER BY AGREEDPRODUCTS.productid_supplier";

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

您错过了该行的AND或其他分隔符:

ON AGREEDPRODUCTS.productid_supplier=EMETERPRODUCTS.productid AGREEDPRODUCTS.producttype='EMETER' AND AGREEDPRODUCTS.productid_corporation is null
                                                            ^^^

答案 1 :(得分:0)

ON AGREEDPRODUCTS.productid_supplier=EMETERPRODUCTS.productid AND AGREEDPRODUCTS.producttype='EMETER' AND AGREEDPRODUCTS.productid_corporation is null

你错过了AND ..................................... .................................................. ^这里^。

你在这里感到困惑:

  

喜欢使用WHERE,但显然不允许

此问题中的WHERE使左/右连接成为内连接。这就是为什么你必须把它放在连接条件下。 WHERE子句总是可行的。您也可以将第二个连接条件放在where子句中。