問題タブ [table-functions]

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.

0 投票する
1 に答える
110 参照

sql - SQL でテーブルを返す関数を作成する

using (for loop , if .. else) のようなロジックでビューを作成したかったのですが、SQL ではサポートされていないため、パラメーターをとらずテーブルを返すテーブル関数を作成することを考えました。

orders私は以下のようなテーブルを持っています

そしてtracking orders、以下の表

そして、ここにあるのはtypes of tracking

に示すようにtracking order、発生した追跡イベントの数によっては、注文番号に複数のレコードが含まれる場合があります。

ここには含めなかった 25 を超える追跡タイプがあります。これは、1 つの注文がテーブルに 25 回存在できることを意味しtracking orderます。

そうは言っても、私の要件は、注文が5つまたは3つのカテゴリに属している必要があるという条件で、以下のようにビューを作成することです(15を超えるカテゴリがあります)。

関数を実行するたびに、更新された情報を返す必要があります。

たとえば、新しいトラッキングが発生し、それが に挿入されたtracking order場合、関数を実行して、対応するフラグ列 (例: ) で更新を確認したいと考えていますisDelivered

ここに画像の説明を入力

これを達成するための最良の方法は何かについて、私は本当に混乱しています。正確なスクリプトは必要ありません。SQL にあまり詳しくないので、それを達成する方法を理解する必要があるだけです。

0 投票する
1 に答える
127 参照

r - Rでテーブルのリフト値を計算する方法は?`

table2これは、行としての data1 セグメント、列としての data2 セグメント、および で 3 番目の次元 '購読済み' の 3 つの変数で作成し'yes'た頻度'no'です。

table2?5x5 テーブルと各ポジション値 = の値'yes'/( の値'yes'+ の値'no')に基づいて「はい」のリフト値テーブルを作成する方法

例えばtable_liftvalue[1,2] = 33/(33+674)

助けていただければ幸いです。[1]: https://i.stack.imgur.com/1w6mj.png

0 投票する
2 に答える
205 参照

oracle - Oracle - 明示的なオブジェクト/テーブル型なしで SELECTable 関数を介して結果セットを返す

SELECT次のようなステートメントで参照できる関数を介して結果セットを返す、シンプルで保守しやすい方法を見つけようとしています。

これが私がPostgresに持っているものです:

以下は、私が Oracle で到達した場所の例です。

動作しますが、扱いにくく、複数の DDL が必要です。Postgres では、関数内でこれらすべてを簡単に実行できます。

RETURNS TABLE (ObjectId INTEGER, ObjectClass CHAR(2), ObjectName VARCHAR(100))

Oracleでこれを行うためのよりクリーンな方法はありますか?

関連記事
関数 / SP での SELECT
DBMS_SQL.return_result
パイプライン関数

0 投票する
2 に答える
84 参照

oracle - Oracle - グループ化セットとパイプライン化されたテーブル関数 (NUMBER が ROW になると予想される)

を使用してサマリー ロジックを含むレポートを作成していますが、次のGROUPING SETSエラーが発生します。

以下のみを含めるc1か、c2個別に使用すると問題なく動作します。

t1テーブルから直接クエリを取得しても問題なく動作します。

私は何が欠けていますか?何だかシンプルな気がします。これが私のセットアップの簡単な例です:

DB バージョン - 12.1.0

実際の関数で発生する別のエラーを更新
します(「マテリアライズ」ヒントを使用しても):