問題タブ [string-aggregation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - PostgreSQLの「group by」クエリで文字列フィールドの文字列を連結する方法は?
グループ内のフィールドの文字列をクエリで連結する方法を探しています。たとえば、次のテーブルがあります。
そして、次のようなものを取得するために company_id でグループ化したいと思いました:
これを行うためにmySQLに組み込み関数がありますgroup_concat
sql - Microsoft SQL Server 2005 で group_concat MySQL 関数をシミュレートしていますか?
MySQL ベースのアプリを Microsoft SQL Server 2005 に移行しようとしています (選択によるものではありませんが、それが人生です)。
元のアプリでは、ほぼ完全に ANSI-SQL 準拠のステートメントを使用していましたが、1 つの重要な例外があり、MySQL のgroup_concat
関数をかなり頻繁に使用していました。
group_concat
、ちなみに、これを行います: たとえば、従業員名とプロジェクトのテーブルが与えられた場合...
戻り値:
... そして、これが group_concat で得られるものです:
戻り値:
だから私が知りたいのは、たとえば、SQL Serverでの機能をエミュレートするユーザー定義関数を書くことは可能group_concat
ですか?
私はUDF、ストアドプロシージャ、またはそのようなものを使用した経験がほとんどなく、単純なSQLであるため、説明が多すぎると誤解してください:)
sql - Oracle で複数の行をカンマ区切りのリストに結合するにはどうすればよいですか?
簡単なクエリがあります:
次の結果が得られます。
結果を 1 行で返したいので、次のようにします。
もちろん、私は仕事をするためにPL / SQL関数を書くことができます(私はすでにOracle 10gでやっていました)が、このタスクのためのより良い、できればOracle固有ではない解決策(または組み込み関数かもしれません)がありますか? ?
私は通常、サブクエリで複数の行を避けるためにそれを使用します。そのため、人が複数の市民権を持っている場合、リスト内で彼女/彼が重複することは望ましくありません。
私の質問は、 SQL server 2005に関する同様の質問に基づいています。
更新:私の関数は次のようになります:
sql - Oracle: サブクエリの複数の結果を 1 つのコンマ区切り値に結合する
単一列のサブクエリをコマンドで区切られたVARCHAR
タイプの値のリストに変換しようとしています。
これはこの質問と同じですが、SQL Server や MySQL ではなく Oracle の場合です。
sql - ストアドプロシージャを作成せずに、Oracleで複数の行を1つに連結するにはどうすればよいですか?
ストアドプロシージャを作成せずに、Oracleで次のことを実現するにはどうすればよいですか?
データセット:
望ましい結果:
oracle - Group_concatMySQL関数と同等のOracle
こんにちは私はオラクルのmysqlの同じgroup_concatまたはいくつかの機能を探しています
sql - SQL クエリを使用してコンマ区切りリストを作成するにはどうすればよいですか?
次の 3 つのテーブルがあります。
- アプリケーション (ID、名前)
- リソース (ID、名前)
- アプリケーションリソース (id、app_id、resource_id)
すべてのリソース名のテーブルを GUI に表示したいと考えています。各行の 1 つのセルに、そのリソースのすべてのアプリケーション (カンマ区切り) を一覧表示したいと思います。
問題は、すべてのリソースを取得する必要があり、各リソースのすべてのアプリケーションも取得する必要があるため、SQL でこれを行う最善の方法は何ですか?
最初に select * from resources を実行してから、各リソースをループし、リソースごとに個別のクエリを実行して、そのリソースのアプリケーションのリストを取得しますか?
1 つのクエリでこれを行う方法はありますか?
oracle - Oracle 関数: wm_concat をレプリケートする
私は現在、Crystal Reports 内のプロジェクトに取り組んでいます。このプロジェクトでは、Oracle 10g 内で許可されている文書化されていない関数 WM_CONCAT の使用を拒否しています。WM_CONCAT ヘッダー情報は次のとおりです。
WM_CONCAT を使用するには、次のように渡します。この関数は varchar2 型の列を受け入れるようで、列からカンマ区切りの値のリストを返します。現在、この機能のカスタム バージョンを (私の仕事用コンピューターで) 使用していますが、最適ではなく、再利用性に欠けています。私が使用できる WM_CONCAT のような再利用可能な優れた関数を誰かが提供できますか?
oracle10g - 文字列集計を使用すると、マテリアライズド ビューの作成が非常に遅くなります。パフォーマンスに関する提案はありますか?
マテリアライズド ビューがたくさんあります。作成と更新に数秒しかかからないものもあれば、SQLDeveloper がそれまでにクラッシュしなければ、コンパイルに最大 40 分かかるものもあります。
クエリでいくつかの文字列を集約する必要があり、次の関数があります
次に、MV で次のような select ステートメントを使用します。
それは私に次のことを与えるので、これは素晴らしいです:
それ以外の :
このSTRAGG
機能を使用すると、MV の作成/更新にかかる時間が劇的に増加するようです。コンマ区切りの値のリストを作成する別の方法はありますか? 私はMV全体でこれを使用しているので、私にとって非常に必要な機能です.
ありがとう
sql - Oracle 10g での文字列集約
Oracle 10g SQLで文字列を集約(連結)する方法は?