1

このクエリ

SELECT * 
FROM tblContracts 
LEFT JOIN tblPartys ON tblContracts.id = tblPartys.Contract_id 
INNER JOIN tblAdministrators 
        ON tblContracts.AdministratorID = tblAdministrators.ID

mysqlデータベースでは機能しますが、AccessDBでは機能しません!!!

私はこのエラーの打撃を受けています:

System.Data.OleDb.OleDbException:クエリ式の構文エラー(演算子がありません)'tblContracts.id = tblPartys.Contract_id INNER JOIN tblAdministrators ON tblContracts.AdministratorID=tblAdministrators.I'。System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams、Object&executeResult)at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object&executeResult)at System.Data OleDb.OleDbCommand.ExecuteCommand(CommandBehavior Behavior、Object&executeResult)at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior Behavior、String method)at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior Behavior)

4

3 に答える 3

1

最初の結合の周りにいくつかの括弧を追加してみてください

SELECT * 
FROM (tblContracts 
LEFT JOIN tblPartys ON tblContracts.id = tblPartys.Contract_id) 
INNER JOIN tblAdministrators 
        ON tblContracts.AdministratorID = tblAdministrators.ID
于 2012-06-28T14:21:52.720 に答える
0

あなたが投稿したエラーから、あなたは説明ON tblContracts.AdministratorID = tblAdministrators.IDされているように誤記しますON tblContracts.AdministratorID = tblAdministrators.I

クエリ式の構文エラー(演算子がありません)'tblContracts.id = tblPartys.Contract_id INNER JOIN tblAdministrators ON tblContracts.AdministratorID=tblAdministrators.I'。で ...

したがって、次のように記述されていることを確認してくださいON tblContracts.AdministratorID = tblAdministrators.ID

于 2012-06-28T14:21:21.817 に答える
0

これを試して:

  SELECT *  FROM ((tblContracts 
   LEFT JOIN tblPartys ON tblContracts.id = tblPartys.Contract_id ) 
     INNER JOIN tblAdministrators ON tblContracts.AdministratorID = tblAdministrators.ID )  

私の経験では、Accessは括弧が好きです...あなたが私に尋ねれば、少し多すぎます。

于 2012-06-28T18:54:26.623 に答える