SQL質疑応答スレ 9問目

このエントリーをはてなブックマークに追加
545NAME IS NULL
Accessで共通テーブル式?のようなものを実現することはできないでしょうか?

・DB : Microsoft Access 2007
・データ
■Relationテーブル
TaskNo RelationTaskNo
1 2
2 3
2 4
4 5
: :
: :
: :


上記はタスクと、そのタスクに関連するタスクのNoを保持しているテーブルです。
このようなテーブルから、指定したTaskNoに関連するタスクを取得して、
その関連タスクにまた関連するタスクを…といった形でデータを取得したいのです。

以前SQLServerで似たような結果を取得した際は

WITH RELATIONS (TaskNo,RelationTaskNo)
AS
(SELECT TaskNo,RelationTaskNo FROM Relation WHERE TaskNo = 取得したい番号
UNION ALL
SELECT R.TaskNo,R.RelationTaskNo
FROM Relation AS R INNER JOIN RELATIONS AS CTE ON R.RelationTaskNo = CTE.TaskNo)

SELECT * FROM RELATIONS

(当時の環境が手元にないため構文が微妙に間違っているかも…)


どなたかご存じだったら知恵を貸してください。