私はそこに同様の投稿があることを知っていますが、自分のクエリでそれらのいずれかを使用しようとすると、MS Accessを使用して結合テーブルの行を1つだけ戻す
基本的に、SQLビューを使用してACCESSで照会するテーブルが3つあります。これは( タスクID タスクのタイトル プロジェクトID: タスク
TB1フィールドが欲しかった:最初かかわらこの例のために、私はちょうど2
TB1名でそれをやろうとしています
最後に、プロジェクトのタイトルをつかむために使用される前述したように、第三のテーブルをIE)
TB2名: タスクノート
個のTB2のフィールドが欲しかっ:デザインビューを使用して起こっていた何 タスク注ID タスク注日付 タスク注
は、タスクテーブル内の1つのタスクに関連する例えば3人のリアクションがあった場合、それが一覧表示されたということですすべての3つのタスクノート。
私がやりたいことは、[タスクノートID]または[タスクノート日付]だけで入力した最後のタスクメモを取り出すことです。
は、私は今のままにしています何、ここからヘルプから構築され、以下のSQL文です:
SELECT
t.[Task ID],
t.[Task Title],
t.[Project ID],
tn.*
FROM
Tasks t
INNER JOIN [Task Notes] tn ON t.[Task ID] = tn.[Task ID]
WHERE tn.[Task ID] =
(SELECT max(tn.[Task Note Date]) FROM tn where tn[Task ID] = t.[Task ID])
;
私はこれで構文エラーを取得していますが、以前の化身にもこだわって私を残しています。
私は通常ACCESSとphp/aspの外で開発していますが、ACCESSでは初心者です。
任意の助けをいただければ幸いです
乾杯
マシュー
こんにちは 上記の例でTaskNoteIDSとは何ですか? これはタイプミスか、それとも一時テーブルですか?私はこれで構文エラーが発生していますが、[タスクノート]を使用しようとすると構文エラー(実際には役に立たないMS)が返されます。 乾杯 Matthew –
TaskNoteIDSはサブセレクトです。内部結合Tと ( 作業FROMこの SELECT * を試してみてください ( SELECT [タスクメモ]。[タスクID]、マックス([タスク注]。[タスクID] GROUP BY [タスクID] )AS TaskNoteIDS ON t。[タスクID] = TaskNoteIDS。[タスクID] )INNER JOIN [タスクID] FROM [タスクメモ] [Task Notes] ON(TaskNoteIDS.MaxDate = [Task Notes]。[Task Note Date])AND([Task Notes]。[タスクID] = TaskNoteIDS。[タスクID]); –