別テーブルのデータを引用コピーしたい場合
新しく作成したテーブルの特定のフィールドに、既に存在している別テーブルの特定フィールドのデータを引用コピーしたい、
そんな事がありました。
そういう時にどんなUPDATE文を作ればいいのかというと、下記のようになります。
UPDATEをかけたいテーブル → テーブルA
引用元のテーブル → テーブルB
UPDATE (テーブルA) SET (テーブルA).(フィールド名) = (テーブルB).(フィールド名) FROM (テーブルA) JOIN (テーブルB) ON (テーブルA).(結合させるフィールド名) = (テーブルB).(結合させるフィールド名)
DB別ユーザーリスト表示クエリ
DBのアクセスユーザー情報を参照したい時に一覧を表示するためのクエリです。
SELECT Host, User, Password FROM mysql.user;
SQL Server Management Studio
SELECT * FROM sys.server_principals WHERE TYPE IN ('S') AND name NOT LIKE '%##%' ORDER BY name, type_desc;
SQL Server Management StudioでExcelファイルのデータをインポートする方法
業務中30000レコード程あるデータの更新を依頼され、それがExcelファイルで渡されました。
SQL Server Management StudioではExcelファイルをコピー&ペースト(以下コピペ)でinsertできる機能が備わっているようです。
①insertするテーブルのフィールド数と同じセル数(1行当たり)で必要データをすべてコピーする
②SQL Server Management Studioでinsertしたいテーブルを開き、最終行を右クリックし貼り付け
以上です。
私の場合は元データをすべて削除してからコピペinsertしたのですが、両方合わせて20分ぐらいかかりました・・・
array_diff()を使って差分を取得する
配列の要素を比較し、その差分を抽出したい時にはarray_diff()が便利です。
// array array_diff ( array $array1 , array $array2 [, array $... ] ) // $array2以降と比較し、$array1にだけ存在する要素を配列で返す。 $old_hobby = array( 'プログラミング' , 'ファッション' , '楽器' , 'アニメ' ); // 昔の趣味 $now_hobby = array( 'プログラミング' , 'ゲーム' , 'アニメ' , '資産運用' ); // 現在の趣味 $add_hobby = array_diff( $now_hobby , $old_hobby ); // ゲーム、資産運用 $lost_hobby = array_diff( $old_hobby , $now_hobby ); // ファッション、楽器
このようにすることで新しく増えた趣味($add_hobby)、逆にもう興味が無くなってしまった趣味($lost_hobby)等を差分を取得する事ができます。