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

現在、PHPとMySQLを独習しておる者です

検索の際、あるデータがどのフィールドに入っているかを表示させたいのです


イメージは仮に以下のような状態であるとして

------------------------------------
顧客| 前期出荷|中期出荷|後期出荷|
------------------------------------
A社 | 商品A  | 商品D | 商品G |
B社 | 商品B  | 商品E | 商品H |
C社 | 商品C  | 商品F | 商品I  |
------------------------------------
例えば商品Fがどの時期に出荷されたかを調べるには
どのように記述すべきでしょうか

SQL文か
あるいは可能であればPHP文でご教示頂ければ幸いです

初心者にてまことに申し訳ありませんが、
どなたか、何卒よろしくお願い致します

A 回答 (2件)

テーブル設計を変更してはいかがですか


顧客|出荷時期| 商品名 |
------------------------
A社 |前期出荷| 商品A |
A社 |中期出荷| 商品D |
A社 |後期出荷| 商品G |
B社 |前期出荷| 商品B |
B社 |中期出荷| 商品E |
B社 |後期出荷| 商品H |
C社 |前期出荷| 商品C |
C社 |中期出荷| 商品F |
C社 |後期出荷| 商品I |

これなら
select * from テーブル where 商品名 = '商品F'
で一発です。
    • good
    • 0
この回答へのお礼

確かに

しかし、「顧客」にあたる部分がuniqueで…
仕方なくあのような表に…

説明不足で申し訳ありません


ただ、nora1962さんにご提示頂いた形はとてもスッキリしていていいかな、と
商品用テーブルを別でこういった形で用意して、
顧客uniqueの方で重複登録フィルタをかけるのもありかな、と
思わせて頂きました

nora1962さん、ありがとうございました

お礼日時:2009/03/01 11:07

Yahoo!知恵袋の方に、詳しく回答しておきました。



http://detail.chiebukuro.yahoo.co.jp/qa/question …

この回答への補足

某知恵袋でchukenkenkouさんにご指摘頂いた
各バージョンに関しての補足です

私の導入している環境は
MySQL-5.1.30
PHP-5.2.8
Apache-2.2.11
です

ただし、都合によりPHPのモジュールは導入不可といった状況です

補足日時:2009/03/01 11:23
    • good
    • 0
この回答へのお礼

chukenkenkouさん
双方でありがとうございます

説明不足で申し訳ありませんでした


chukenkenkouさんにご提示頂いた内容は今の私にとってちょいと難解でしたが
なんとなく、大体わかりました。

ちょうどPHPの方でmysql_fetch_arrayとarray_searchの組み合わせで検出しようと考えていた所なのですが、
(商品Fの含まれている行を検出→fetch_arrayで配列→searchでKeyを検出)
それでもありですかね


あと、chukenkenkouさんはいろいろとお詳しそうなので、別件でもう一つ質問させて頂きたいのですが、よろしいでしょうか?
携帯電話向けダウンロードファイルのHUF化についてなのですが…

お礼日時:2009/03/01 11:20

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

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