No.2
- 回答日時:
#1さんの回答のようにSQLでやる方が
速いと思いますよ。
仮にフィールド名がA,A_F,B,B_Fのように
なっていると仮定すると、次のようにしては
如何でしょう。
【MySQL】
select concat
(case when A_F=1 then A else '' end
,case when B_F=1 then B else '' end
,case when C_F=1 then C else '' end
以下略
) from ・・・
【Oracle】
select
case when A_F=1 then A else '' end ||
case when B_F=1 then B else '' end ||
case when C_F=1 then C else '' end ||
以下略
from ・・・
文字列の連結はDB毎に違いますし、条件に
よる選択文も異なることがあるので、上記
以外のDBの場合は別途、考える必要が
あります。
どうしてもPHPでやりたいなら、フィールド名を
工夫して、数値化するとか、配列に仕込んで
インデックスで回す方法があります。
$結果セット ← クエリを実行して得たもの
$名前配列 = array("A","B","C",・・・);
$フラグ配列 = array("A_F","B_F",・・・);
$結合結果 = "";
for ( $i = 0 ; $i < 6 ; $i++ ) {
if ( $結果セット[$フラグ配列[$i]] == 1 ) {
$結合結果 = $結合結果 . $結果セット[$名前配列[$i]];
}
}
暇があれば両方試してみてください。レコード数が
少ないとよく分からないかも知れませんが、多い
場合はハッキリ、前者が有利だと分かりますよ。
No.1
- 回答日時:
いまいち状況がわからないのですが
たとえばDBで管理しているのがMySQLだとしたら
create table tbl(data varchar(10),flg tinyint);
insert into tbl values('A',1),('B',1),('C',0),('D',0),('E',1),('F',0);
select group_concat(data separator '、') as kekka from tbl where flg=1;
みたいな感じでSQL側で処理してみては?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- Java Java 南京錠 2 2023/02/04 11:46
- Excel(エクセル) Excel 文字列を結合するときに重複をなくしたい 関数・VBA 2 2022/12/12 10:40
- Excel(エクセル) 【画像あり】A1が●+B1と同じ文字がB列にある+C1と同じ文字がC列にある場合D1に〇を付ける 3 2023/03/09 18:18
- Excel(エクセル) 現在のセルの文字列を右隣のセルの名前にするマクロをつくりたい 4 2023/01/12 09:01
- Excel(エクセル) <スプレッドシート>IF関数の複数条件について 5 2022/10/27 14:38
- 統計学 「Newton」7月号特集記事 6 2022/06/07 21:27
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) エクセル VBA セルの結合 2 2022/09/07 11:48
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPで配列をPOSTデータで送った...
-
$_SESSIONに二次元配列を使える...
-
配列をループでたくさん宣言し...
-
配列を回すとき、最後の要素だ...
-
file_existsでファイル名の部分...
-
【Smarty】foreach関数やsectio...
-
xml_parse_into_structを使うと...
-
ファイルから指定行数分だけ読...
-
配列をmb_ereg_replaceで一気に...
-
ネストが深い時のforeachはどう...
-
PHPにてクラスを配列にすること...
-
PHPのカッコ[ ]の使い方について
-
[Smarty] register_objectでの...
-
array_combineがうまくいかない...
-
PHPの preg_grep関数(正規表現...
-
PHPでの簡易ビンゴゲームでの疑...
-
fgetsで取り込んだ文字をexplod...
-
[PHP] fputcsv()関数でファイル...
-
Array Array と表示される
-
String だと「 ByRef引数の型が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列をループでたくさん宣言し...
-
String だと「 ByRef引数の型が...
-
file_existsでファイル名の部分...
-
foreachのなかで次のキーを参照...
-
$_SESSIONに二次元配列を使える...
-
PHPのカッコ[ ]の使い方について
-
$_SESSIONについて教えて下さい。
-
配列を回すとき、最後の要素だ...
-
ネストが深い時のforeachはどう...
-
配列一致(要素順番は違うが内容...
-
PHPにてクラスを配列にすること...
-
配列の値の更新方法について
-
postgresql関数をつかったレコ...
-
PHPで配列をPOSTデータで送った...
-
PHP 多次元配列変数のデータ受...
-
漢字のソートについて
-
チェックボックスが複数選択で...
-
$_POSTを一括してサニタイズし...
-
smarty 同じ要素内で改行
-
配列のbindValue方法について
おすすめ情報