タグ:SQL

  • 2017.11.27
  • ,

[MySQL]GROUP_CONCATで縦のデータをカンマ区切りで取得

複数レコードのデータを連結して取得したい MySQL(MariaDB)で、GROUP_CONCAT を使って、縦に並んだ複数レコードのデータを1列(カンマ区切り)で取得するSQLを書く方法をまとめます。 SQL Serverでは、FOR XML PATH('') を使用して取得できます。 [SQL Server] 縦に並んだデータを横にカンマ区切りの列データで取得する方法 上記記事では SQL S […]

[SQL Server] 縦に並んだデータを横にカンマ区切りの列データで取得する方法

縦に複数のデータを横並びで取得したい 縦にたくさん並んだデータについて、横に並べて一つの可カンマ区切りの列データとして取得したい場合があったのでその方法をまとめます。 RMDBは SQL Server です。FOR XML PATH('') を使って実現します。 例えば、部署と社員の関係を以下のようなリレーションで表現します。 部署マスタと社員マスタがあり、社員マスタには所属部署を表す部署IDを保 […]

ブラウザでRMDB別のSQLを実行できる「SQL Fiddle」

ブラウザ上でRMDBごとにSQLの実行結果を確認したい SQL Fiddle ブラウザ上でSQLの実行結果が確認したいということがたまにあります。SQLの検証用だったり、あるいは勉強のためだったりです。 いちいちRMDBの環境を用意して実行するのは手間ですし、ブラウザ上でさっと確認する方法がないかと思って探していると、ありました。紹介します。 SQL Fiddle というWebサービスです。無料で […]

[MS SQL] Insertしたデータの ID(IDENTITY) を取得する方法

Insertしたデータの ID(IDENTITY) を取得する方法     SQL Server では、テーブルの列に対して自動でIDを採番してくれる IDENTITY というプロパティがあります。このプロパティが設定されている列については、手動で値を登録することができません。     例えば INSERT 処理後、このIDを使って関連するテーブルへデータを続けて登録したい場合は、以下のように(S […]

SQL

[SQL] 再帰クエリでツリー(木)構造を扱う

SQLにおける再帰的な処理 リレーショナルデータベース(RDB)には、階層的なデータ構造(例:ツリー構造など)を扱うことができる、再帰クエリをサポートしているものがあります。再帰クエリを使の使い方を以下に紹介します。 再帰クエリをサポートするRDB Wikipediaによると以下のRDB(バージョンによっては利用不可)は再帰クエリを使えるようです。今回は以下のうち、SQLServer と SQLi […]