2012-08-31 14 views
5

私は見てきましたが、何も見つかりませんでした。 this TSQLのような出力を生成するSQL標準準拠の方法はありますか?私はsqlite、mysql、postgresqlまたはsqlサーバーでもうまく動作する単一のクエリを望みます。それも可能なのでしょうか?クロスサーバ、コンマで区切られたリストを作成するための標準SQL

+1

すべてのデータベースエンジン(ここでは、http://www.sqlfiddle.com/でテストできます)で実行できる、クロスプラットフォームの単一クエリがあるとは思いません。しかし、あなたはこれを参考にしてください:http://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/ – mellamokb

+0

これに興味があります – codingbiz

+1

テストケース: SQL Server](http://www.sqlfiddle.com/#!3/dba5e)を参照してください。 [MySQL](http://www.sqlfiddle.com/#!2/d0e35); [PostGre](http://www.sqlfiddle.com/#!1/d0e35); [SQLite](http://www.sqlfiddle.com/#!7/da597) – mellamokb

答えて

2

私はあなたの質問を理解しているので、列の値をコンマで区切ったリストに集約するデータベース間の方法を探しています。私が知る限り、これを行うための標準集計はありません(いくつかの新しい集計が追加される前にPostgreSQLでこれについて独自の集計を作成していました)。

あなたができることは、リストを選択してアプリケーションで処理することですが、dbの間で移植可能なコードを記述する必要がある場合に起こります。

2番目の問題は、これらのデータベースの一部に拡張機能を追加してこの問題を管理することは可能ですが、それらのすべてでは不可能であるということです。

だから、できません。選択肢としては、カスタム集約をサポートする1​​つまたは2つのdbを使用し、その中にシムを入れたり、1つのdbでSPベースのインターフェイスを構築したり、リストを選択してアプリケーションで処理したりすることができます。

関連する問題