2012-03-07 6 views
0

私はC#アプリケーションを作成していますが、Access.mdbを使用しています。私は電子メールメッセージとテーブルとのメッセージの関係(各電子メールのメッセージをいくつかのチームの労働者に割り当てることができます)のテーブルの簡単なジョインをしようとしています。残念ながら、この単純なクエリではエラーが発生しており、理由を理解できません。どんな助けもありがたい。SQL:simple JOINがエラーを返します

string queryGetMails = " SELECT * FROM Mails JOIN MailAssignments ON Mails.msgId = MailAssignments.msgId "; 

そして、私が手にエラーがある:

System.Data.OleDb.OleDbException: Syntax error in FROM clause. 
+4

あなたはjoinのタイプを修飾する必要があります - それ自身の 'JOIN'はAccessのための有効な構文ではありません。ユーザ「INNER JOIN」または「OUTER JOIN」を必要に応じて選択します。 – Oded

答えて

2

私は、 はアクセスインターフェイスを使用してクエリを試してみましたが、LEFTなしであなたの構文を好きではない... INNERは、などのJOIN、JOINをLEFTを指定しますINNER、JOINの前に右。

ちょっとしたメモです。 Accessを使用する利点の1つは、この種のエラーを修正するためのテストを簡単に実行できることです。

+0

しかし、この記事ではINNER JOINはJOINと同じですので、JOINも許可されていると仮定しています:[http://www.w3schools.com/sql/sql_join_inner.asp](http://www.w3schools.com/sql/) sql_join_inner.asp) – Val

+0

INNER JOINも試しましたが、 'System.IndexOutOfRangeException:msgId'というエラーも表示されます。私はこのフィールド(msgId)のテーブルに参加しているので、結果テーブルに表示されなくなるためです。しかし、どうすればそれをそこにとどめることができますか? – Val

+0

これは別の問題だと思います。 – Steve

関連する問題