こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

AccessSQL 1つのテーブルに複数のデータ

お世話になっております。

アクセスSQLでの質問です。

--テーブル----------
F_1 F_2
AAA BBB
AAA CCC
BBB XXX
CCC DDD
DDD YYY

1.F_1のAAAを条件にF_2のBBB・CCCを取得し、
F_1のBBB・CCCと、F_2のXXXとDDDを取得します。
次に、取得したF_2のXXX・DDDを条件に、F_1のDDD、F_2のYYYを取得します。

つまり、AAAを取得した結果、SQL一つで、上記テーブルデータをF_1:AAA以外、取得したい要件です。

有識者の方、ご享受頂きたいです。

宜しくお願い致します


【自力で考えた結果】
--------------------------
select F_MenuCD,F_ZaiCD
from [TABLE]
where F_MenuCD IN
(
SELECT F_ZaiCD
FROM [TABLE]
WHERE F_MenuCD IN ('AAA')
);

F_1 F_2
BBB XXX
CCC DDD
を取得するSQLは上記でいけそうなのですが、
DDD YYY
を、1つのSQLで取得したいのです。

投稿日時 - 2011-06-22 14:25:28

QNo.6827680

困ってます

質問者が選んだベストアンサー

もう1階層追加しちゃだめですか?

select F_1, F_2
from TEST2
where F_1 IN
(
select F_2
from TEST2
where F_1 IN
(
SELECT F_2
FROM TEST2
WHERE F_1 IN ('AAA')
)
);

投稿日時 - 2011-06-24 13:27:41

補足

例が間違っているのにSQLを記載してくださってありがとうございます。
4世代(4段階)あるので、入れ子入れ子で遅くなってしまうのです…

一つ一つに分けて発行するようにしました。

ご返答誠にありがとうございます。

投稿日時 - 2011-07-08 12:03:35

お礼

ありがとうございました!

投稿日時 - 2011-07-08 12:04:01

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)