• ベストアンサー

複数条件の抽出SQL文がわかりません

WinXP DB:ACCESS2000 利用しています。 DB勉強中です、よろしくお願いします。 顧客管理の抽出条件のSQL文がわかりません。 T_顧客 ID 住所   氏名   TEL   紹介者1 紹介者2 紹介者3 紹介者4 001 愛知県名古屋市○1-1 山田太郎 000-000-0001  1  2  3 002 岐阜県岐阜市000-00  近藤たろう 000-110-0001  2  003 愛知県愛知郡22-2222 後藤たろう 000-111-0001  3  4 T_紹介者 ID 住所   氏名   TEL 1 名古屋市 山田二郎 111-111-1112 2 岐阜市  安藤三郎 222-222-2222 3 津市   伊藤司郎 333-333-3333 4 静岡市  田中五郎 444-555-4445 と言うDBがありまして、以下のように抽出したいと思っています。 001 愛知県名古屋市○1-1 山田太郎 000-000-0001  山田二郎 安藤三郎 伊藤司郎 002 岐阜県岐阜市000-00  近藤たろう 000-110-0001  安藤三郎  003 愛知県愛知郡22-2222 後藤たろう 000-111-0001  伊藤司郎 田中五郎 と言ったようにしたいです。 よろしくお願いします。

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

クエリの作り方でいいですか 以下に手順) ・クエリをデザインで作成します ・テーブル「T_顧客」を1つ、テーブル「T_紹介者」を5つ表示させます。 テーブル「T_紹介者」を5つ表示させると、テーブル名のところが、 「T_紹介者」、「T_紹介者_1」~「T_紹介者_4」になっていると思うので、 「T_紹介者」を表示上から削除します。 「T_顧客」、「T_紹介者_1」~「T_紹介者_4」の5つが表示されているようにします。 ・「T_顧客」の「紹介者1」を「T_紹介者_1」の「ID」にドラッグします。 結合線が表示されるので、線をダブルクリックします。 結合プロパティは、'T_顧客'の全レコードと・・・・ に変更しOKボタン 紹介者2~4も同様に、 「紹介者2」を「T_紹介者_2」の「ID」に 「紹介者3」を「T_紹介者_3」の「ID」に 「紹介者4」を「T_紹介者_4」の「ID」に 結合プロパティは、'T_顧客'の全レコードと・・・・ に全て変更しOKボタン ・以下の順番にテーブル内の項目をダブルクリックしていきます。 「T_顧客」の「ID」「住所」「氏名」「TEL」 「T_紹介者_1」の「氏名」 「T_紹介者_2」の「氏名」 「T_紹介者_3」の「氏名」 「T_紹介者_4」の「氏名」 ・下に表示されている一覧部分のフィールド欄のところの「氏名」が重複しているので、 テーブルが「T_紹介者_1」の「氏名」を「紹介者1: 氏名」に変更します。同様に テーブルが「T_紹介者_2」の「氏名」を「紹介者2: 氏名」に テーブルが「T_紹介者_3」の「氏名」を「紹介者3: 氏名」に テーブルが「T_紹介者_4」の「氏名」を「紹介者4: 氏名」に このクエリの表示を、データシートビューに切り替えてみます。 良かったら保存します。

baggio100
質問者

お礼

早速の回答ありがとうございました。 ACCESSの操作方法まで丁寧に教えていただき、ありがとうございました。 思うような結果が得られて大変助かります。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.1

質問のまる投げはいけませんよ それはともかく、実際はこんな感じですが.... ---------------------------------------------------- SELECT T_顧客.ID  , T_顧客.住所 , T_顧客.氏名 , T_顧客.TEL , 紹介者-1.氏名 AS 紹介者1 , 紹介者-2.氏名 AS 紹介者2 , 紹介者-3.氏名 AS 紹介者3 , 紹介者-4.氏名 AS 紹介者4 FROM (((T_顧客 LEFT JOIN T_紹介者 AS 紹介者-1 ON T_顧客.紹介者1 = 紹介者-1.ID) LEFT JOIN T_紹介者 AS 紹介者-2 ON T_顧客.紹介者2 = 紹介者-2.ID) LEFT JOIN T_紹介者 AS 紹介者-3 ON T_顧客.紹介者3 = 紹介者-3.ID) LEFT JOIN T_紹介者 AS 紹介者-4 ON T_顧客.紹介者4 = 紹介者-4.ID; ----------------------------------------------------

baggio100
質問者

お礼

早速の回答ありがとうございました。 質問まる投げでした。すいません…。 LEFTJOINTを使うのですね、早速試してみました。 思うような結果が得られました。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A