私のデータベースでは、「type」というフィールドを tinyInt として保存していますが、それほど多くの型がないため、これらすべての型に対応する名前を保存するためのテーブルは作成しないことにしました。
テーブルをクエリするときに、タイプを PHP 配列に格納している対応する名前に置き換えたいのですが、結果をループして返された結果行を置き換えるのではなく、SQL ステートメント自体の中でこの置き換えを行う方法があるかどうか疑問に思っています。
このようなものが存在するのでしょうか:
select *, map(type, {1=>'abc', 2 => 'xyz'}) from orders
ベストアンサー1
これを実現する唯一の方法は(私はかなり確信しているが)CASE .. WHEN ...
構築:
SELECT *, CASE type WHEN 1 THEN 'abc' WHEN 2 THEN 'xyz' END as stringType
FROM orders
ELSE
句を使用してデフォルトを指定することもできます(例: ) CASE type WHEN 1 THEN 'abc' WHEN 2 THEN 'xyz' ELSE 'unknown' END
。