我无法弄清楚为什么我在下面的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";
有什么建议吗?
答案 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子句中。