-1

以下の mySQL ステートメント (php ファイル内) で SQL エラーが発生する理由がわかりません。問題は 2 番目の条件「AGREEDPRODUCTS.productid_corporation が null」に関連していると思います。使用されているパラメーターの構文がデータベースで使用されているとおりに正しいことを確認しました。2番目の条件に関して他の代替手段も試しました(WHEREを使用するなど、それは明らかに許可されていません。MySQLはwhere句で結合します)が、それらは機能しませんでした。

$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";

助言がありますか?

4

2 に答える 2

3

ANDその行に 、またはその他の区切り記号がありません:

ON AGREEDPRODUCTS.productid_supplier=EMETERPRODUCTS.productid AGREEDPRODUCTS.producttype='EMETER' AND AGREEDPRODUCTS.productid_corporation is null
                                                            ^^^
于 2013-11-08T11:22:41.260 に答える
0
ON AGREEDPRODUCTS.productid_supplier=EMETERPRODUCTS.productid AND AGREEDPRODUCTS.producttype='EMETER' AND AGREEDPRODUCTS.productid_corporation is null

不足しているAND................................................................. .........................................^こちら^.

そして、あなたはここで何かを混乱させました:

WHERE の使用が好きですが、それは明らかに許可されていません

この質問の WHERE は、左右の結合を内部結合にします。そのため、結合条件に入れる必要があります。WHERE 句は常に使用できます。2 番目の結合条件を where 句に入れることもできます。

于 2013-11-08T11:24:27.593 に答える