プロが教える店舗&オフィスのセキュリティ対策術

mysql5.0.18です

日単位に買い物リストを作っています
テーブル名「kaimono」
フィールドは下記の通り
「date」 「data1」 「data2」 「data3」

データはこんな感じです
2月1日 タバコ 書籍  ラーメン
2月2日 本   ジュース
2月3日 タバコ ラーメン

さて、これを
2月1日 タバコ
2月1日 書籍
2月1日 ラーメン
2月2日 本
2月2日 ジュース
2月3日 タバコ
2月3日 ラーメン

と表示させたいのですが、可能でしょうか?
余分なフィードを表示しても問題ありません

ようするに、data1,2,3をばらけて表示させたいのです
よろしくお願いします

A 回答 (3件)

実行方法は既出のとおりMySQL5であれば


UNIONでしょう

根本的にDBの構築を見直した方がよいでしょうね。
いちいちUNIONしないとコードが検索できないのは
スピード面でも無駄が多いと思われます。
    • good
    • 0
この回答へのお礼

助言ありがとうございます
よくよく考えてみます

ありがとうございました

お礼日時:2006/03/15 13:54

実行していないので、怪しいですが、、


UNION クエリでいけると思います。。

UNIONクエリの場合
select date,data1 as data from kaimono
union all
select date,data2 as data from kaimono
union all
select date,data3 as data from kaimono

その後、日付順に並べるのであれば、これをサブクエリにして、order by を実行してください。
例)
select date,data from (・・・・・) order by 1
    • good
    • 0
この回答へのお礼

返信が遅くなり申し訳ございません
回答の通り、うまくいきました
ありがとうございました

お礼日時:2006/03/15 13:53

こんなんいかがでしょう?



(select date,data1 from kaimono)
union
(select date,data2 from kaimono)
union
(select date,data3 from kaimono)
order by date;

詳しくは、リファレンスのUNIONを見てください。
    • good
    • 0
この回答へのお礼

返信が遅くなり申し訳ございません
回答の通り、うまくいきました
ありがとうございました

お礼日時:2006/03/15 13:52

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

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