[PHP-users 22218]MySQLのSET型のデータを検索条件として使うには
三ツ木 貴代志
kiyoshi @ mitsugi.jp
2004年 6月 14日 (月) 19:06:15 JST
広島の三ツ木と申します。
MySQL 4.0.18
PHP 4.2.2
APACHE 2.0.49
でテスト環境を構築しています。だいたい下記のような構造のテーブル
を作成しました。
・県マスタ(県コード、県名)
KEN(KEN_CD char(2),KEN_NAME varchar(5))
+---------+------------+
| KEN_CD | KEN_NAME |
+---------+------------+
| 01 | 埼玉県 |
| 02 | 広島県 |
| 03 | 沖縄県 |
+---------+------------+
・顧客データ(県コード、顧客名)
CLIENT(CLIENT_KEN_CD set ('01','02','03)), CLIENT_NAME varchar(20))
+---------------+----------------+
| CLIENT_KEN_CD | CLIENT_NAME |
+---------------+----------------+
| 01,03 | 三ツ木企画 |
+---------------+----------------+
で、この際にPHPでSQLを発行して、HTMLのテーブルで
+-----------------+----------------+
| 県名 | クライアント名 |
+---------------+------------------+
| 埼玉県、沖縄県 | 三ツ木企画 |
+-----------------+----------------+
のように表示させたいと思ったのですが、どのようにSQL文を発行すればよい
のかわかりません。
SELECT KEN.KEN_NAME, CLIENT_NAME FROM KEN, CLIENT WHERE
KEN.KEN_CD LIKE concat('%', CLIENT.CLEINT_KEN_CD, '%');
で試すと、行が分割されて出力されてしまいます。なんとか1行で出力させた
いのですが、無理なのでしょうか。苦肉の策として、県マスタから県名を配列
として取得し、クライアント県コードとすり替えようかとも考えたのですが、
postgresのようにpg_fetch_allのようなものがないため、こちらも難航してい
ます。何か手段がありますでしょうか。
よろしくお願いします。
--------------------------------
MITSUGI, kiyoshi
kiyoshi @ mitsugi.jp
http://www.mitsugi.jp/
---------------------------------
PHP-users メーリングリストの案内