【MySQL】複数行の結果を一行にまとめて返す

MySQLで複数行の結果を1行にまとめるにはGROUP_CONCAT関数を使用します。

SEPARATORで区切られた文字列で返ってきます。

どんなときに使うかというと、
たとえば
・USERテーブルにユーザー情報
・ADDRESSテーブルに住所情報
が入っていたとして、各ユーザーは住所が複数登録されている可能性があるとします。
(大手ECサイトでユーザーが住所を複数登録できるというようなイメージです。)
このとき
「全ユーザーの全住所を取得して、ユーザーごとにまとめて表示したい」
となったとき、3つの方法があります。

・SQLでUSERを取得し、USERの1件ずつに対して、またSQLでADDRESSを取得する。
・SQLでサブクエリーを使って全USERの全ADDRESSを取得して、プログラム側でUSERごとにまとめる
・SQLでGROUP_CONCATを使ってUSERごとにADDRESSをまとめた状態で取得する

3番目が一番スマートに取得できますよね。
ただし、SQLがあまり複雑になるとパフォーマンスが低下する場合がありますので、
プログラム側でやったほうがよいケースもあります。

【jQuery】チェックボックスでチェックされた項目を取得

jQueryを使うとチェックボックスでチェックされた項目だけを簡単に取得できます。
たとえば「checkbox1」というクラス名が指定されたチェックボックスが複数あったとして、

これでチェックされたチェックボックスだけが配列として取得できます。

【JavaScript】カーソル位置にテキストを挿入

テキストエリアのカーソル位置にテキストを挿入する関数です。

※jQueryを使用しています。

【Excel】VLOOKUP関数とIFERROR関数で検索する

VLOOKUP関数は他の表を検索して値を入れてくれるという非常に便利な関数ですが、
久しぶりに使おうとしたときに、書式を覚えていたことはまずありません。

検索キー:コードなどの検索キーがはいります。
検索範囲:検索される表を指定します。キーと値を含んでいる必要があり、またキーの列が1列目である必要があります。
値の列番号:上で指定した検索範囲の中で、値が何列目にあるかを指定します。(左から1列目、2列目、、)
検索方法:TRUEかFALSEで指定します。TRUEの場合は一致しなくても一番近い値が入ります。

VLOOKUP関数の例

しかし、これだけだとキーが検索対象になかった場合に
「#N/A」というエラー表示になってしまいます。

そこで、IFERROR関数を使います。

エラーのときは空欄になるようにした例です。

エラー時は空欄にする例