[前][次][番号順一覧][スレッド一覧]

mysql:14819

From: naya <naya <SNA02388@xxxxxxxxxx>>
Date: Wed, 06 May 2009 13:16:05 +0900
Subject: [mysql 14819] 【初歩的質問】 テーブルを結合するSQL文

こんにちは。nayaと申します(MySQL 5.0.24)。


以下のサンプルは、幼稚園児の、氏名と、所属する組みと、
好きな果物(3つまで)を表すものです。

(1)〜(3)のテーブル及びマスターから、(4)の照会結果が得られる
SQL文をご教示下さい。

(1) 園児テーブル
組み 氏名 果物1 果物2 果物3
1  太郎   1  2  4
1  二郎   2  3  4
2  三郎   4  NULL NULL
2  四郎   3  4  NULL
3  五郎   NULL NULL NULL

(2) 果物マスター
果物番号   果物名
1      イチゴ
2      ブドウ
3      リンゴ
4      ミカン

(3) 組みマスター
組み番号  組み名
1     はな組み
2     にじ組み
3     そら組み

(4) 期待する照会結果
はな組み 太郎 イチゴ ブドウ ミカン
はな組み 二郎 ブドウ リンゴ ミカン
にじ組み 三郎 ミカン NULL  NULL
にじ組み 四郎 リンゴ ミカン NULL
そら組み 五郎 NULL  NULL  NULL

なお、当方で考えた以下のSQLを実行すると、
指数乗に大量な照会結果が得られてしまいます。

select * from 園児テーブル, 果物マスター, 組マスター
 where 園児テーブル.組み = 組みマスター.組み番号
 and 園児テーブル.果物1 = 果物マスター.果物番号
 and 園児テーブル.果物2 = 果物マスター.果物番号
 and 園児テーブル.果物3 = 果物マスター.果物番号


当方、DBは、MS ACESSを使った経験もほとんどないですが、
MySQL5+PHP5でごく簡単なプログラムを作って勉強中の初心者レベルです。
よろしくお願い致します。

--
naya,
sna02388@xxxxxxxxxx


[前][次][番号順一覧][スレッド一覧]

->   14819 2009-05-06 13:16 [naya <SNA02388@xxxxx] 【初歩的質問】 テーブルを結合するSQL文  
     14820 2009-05-06 13:59 ┣[SAKAI Kei <sak2@xxxx]                                       
     14823 2009-05-06 14:59 ┃┗[SAKAI Kei <sak2@xxxx]                                     
     14824 2009-05-06 20:26 ┃ ┗[naya <SNA02388@xxxxx] 【御礼】 Re: 【初歩的質問】 テーブルを結合するSQL文
     14826 2009-05-07 01:18 ┃  ┗["Kaname Kuji\(Y7\)" ] 【蛇足】Re:  【御礼】 Re:  【初歩的質問】 テーブルを結合するSQL文
     14825 2009-05-07 00:55 ┗["F.Yamazaki" <fumihi] SQL文、お知恵を拝借させてください     
     14827 2009-05-07 02:07  ┣[あきら <akirainfoml@]                                     
     14829 2009-05-07 02:48  ┃┗["F.Yamazaki" <fumihi]                                   
     14830 2009-05-07 11:07  ┃ ┗["Kaname Kuji\(Y7\)" ]                                 
     14834 2009-05-07 20:09  ┃  ┗[あきら <akirainfoml@]                               
     14828 2009-05-07 02:12  ┗[とみたまさひろ <tomm]