![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
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ランキング
-
正規表現でパターンマッチした...
-
foreachのなかで次のキーを参照...
-
$_SESSIONに二次元配列を使える...
-
漢字のソートについて
-
postgresql関数をつかったレコ...
-
PHP 配列の添字に変数は使えない?
-
配列をループでたくさん宣言し...
-
String だと「 ByRef引数の型が...
-
parse_ini_file関数について
-
PHPでビンゴプログラムを作成する
-
多次元配列の計算方法について
-
バイナリファイルの内容を、そ...
-
phpでforeachの中にforeachがあ...
-
stdClass Objectを連想配列のよ...
-
構造体を動的に確保&解放
-
Excel VBAでフィルター後の対象...
-
行数が30万件ほどあるCSVから、...
-
PHP、{}記号の意味
-
MYSQLとPHPによって取得する多...
-
C言語の配列をPush(追加)する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列をループでたくさん宣言し...
-
$_SESSIONに二次元配列を使える...
-
file_existsでファイル名の部分...
-
String だと「 ByRef引数の型が...
-
foreachのなかで次のキーを参照...
-
配列を回すとき、最後の要素だ...
-
PHPのカッコ[ ]の使い方について
-
PHPのPOSTでの半角スペース
-
セッション配列の取得の仕方
-
PHPにてクラスを配列にすること...
-
配列一致(要素順番は違うが内容...
-
PHP 多次元配列変数のデータ受...
-
漢字のソートについて
-
OCI で、SELECT結果行数を取得...
-
unset使用時の利点
-
postgresql関数をつかったレコ...
-
あいまい検索
-
配列をmysqlに保存
-
チェックボックス複数選択 mys...
-
タブ区切りのデータでnullのデ...
おすすめ情報