電子書籍の厳選無料作品が豊富!

以下のテーブルa,bから目的とする、SQL実施結果を得たいのですが、SQL構文が判りませんでした。
申し訳御座いませんが、ご指導頂けませんでしょうか?
※table a と b は IDでひもづいております。


teble a
--------------
ID |概要   |
--------------
1 |設計開始 |
--------------
2 |製造開始 |
--------------

teble b
----------------
ID |内容  |値 |
----------------
1 |開始日 |10/1|
----------------
1 |終了日 |10/5|
----------------
2 |開始日 |12/1|
----------------
2 |終了日 |12/5|
----------------



SQL実行結果
--------------------------------
ID |概要   |開始日 |終了日 |
---------------------------------
1 |設計開始 |10/1  |10/5  |
---------------------------------
2 |製造開始 |12/1  |12/5  |
---------------------------------

A 回答 (2件)

2回JOINするといいでしょう



select a.ID,概要,b1.値 AS 開始日,b2.値 AS 終了日
FROM a
LEFT JOIN b AS b1 on a.ID=b1.ID AND b1.内容='開始日'
LEFT JOIN b AS b2 on a.ID=b2.ID AND b2.内容='終了日'
    • good
    • 0
この回答へのお礼

早急にご回答いただきましてありがとう御座います。

おかげで目的の処理を行う事が出来ました。
ありがとう御座います。

お礼日時:2010/10/06 17:00

select


a.ID
,a.概要
,max(case when b.内容 = '開始日' then b.値 else null end) 開始日
,max(case when b.内容 = '終了日' then b.値 else null end) 終了日
from
a
inner join b on(a.ID = b.ID)
group by
a.ID,a.概要

とかでもいいかもしれません。
    • good
    • 0
この回答へのお礼

早急にご回答いただきましてありがとう御座います。

おかげで目的の処理を行う事が出来ました。
ありがとう御座います。

お礼日時:2010/10/06 17:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す