0

この結合の問題は何ですか??? コンソールは言う

Error Code: 1051
Unknown table 'invlabtes'


SELECT invlabtes.*, invgatepass.BuiltySupp FROM invlabtes FULL JOIN invgatepass ON(invlabtes.GatePassNO=invgatepass.InwardNo AND invlabtes.GatePassDate=invgatepass.EntryDate AND invlabtes.VehicleNo=invgatepass.VehicleNo) WHERE  invlabtes.Code='*****'

完全結合を内部結合に置き換えると、クエリはエントリを返します。

結合条件が失敗し、invgatepass に一致する builtySupp がない場合でも、invlabtes.Code に基づいて invlabtes テーブルからデータをフェッチするだけです。

4

2 に答える 2

1

Mysql はキーワードをサポートしておらずFULL、テーブル エイリアスに変換します。したがって、invlabtes テーブルの名前は FULL になりました。

于 2013-11-16T08:57:53.200 に答える
0

invgatepass に一致がない場合でも常に invlabtes テーブルからデータを返したい場合は、代わりに LEFT JOIN を使用してみてください。Mysql は完全な結合をサポートしていないためです。

SELECT 
invlabtes.*, invgatepass.BuiltySupp 
FROM 
invlabtes LEFT JOIN 
invgatepass 
ON
invlabtes.GatePassNO=invgatepass.InwardNo
AND 
invlabtes.GatePassDate=invgatepass.EntryDate 
AND 
invlabtes.VehicleNo=invgatepass.VehicleNo 
WHERE  
invlabtes.Code='*****'
于 2013-11-16T09:55:14.397 に答える