問題タブ [connect-by]
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 - CONNECT-BY クエリで完全な級数乗算 (積) が得られない
必要な結果が得られない CONNECT BY クエリがあります。
最後のサブクエリとクエリは、パーセンテージの文字列を掛け合わせた積を生成することになっています。
それは、年ごとの保持率 (PCT) の表から始まります。クエリが進行するにつれて、最初の年からの PCT を取得し、次の年の PCT を掛けて、必要な深さに達するまで繰り返します。この効果は、YR (年) と yset が開始行と列を表すクロス集計で対角線を乗算するようなものであると想定されています。
クエリが進行するにつれて完全な文字列を取得する代わりに、最後の 2 つのパーセンテージの結果のみを取得しています。
単純な間違いかもしれませんが、余分な目があると、より迅速に見つけることができます。
コード:
http://sqlfiddle.com/#!4/ce945/1/0で SQLFiddle に例を設定しました
。この例では、WITH を使用してダミー データを設定しています。
結果の例: (望ましい結果)
(現在/間違った結果)
完全な (乗算) 積を取得できないのはなぜですか? これを修正するにはどうすればよいですか? 誰...?誰?ビューラー?
更新: Eat A Peach は、真に累積的な結果を得るために必要な修正を提供しました。通常のデータの範囲を隠したサンプル データを手動で調整したため、その例を更新する必要がありました。行は 50 年以上連続しており、毎年最大 70 の YCS があります。更新されたクエリは連続した累積積を実行し、私の要件は「斜めに連続した累積積」です。ログ追加ソリューションを保持し、CONNECT BY を追加し直しました。
http://sqlfiddle.com/#!4/1c326/2
開始点と深さのデフォルト値をいくつか示します。
再度、感謝します!
sql - ネストされたサブクエリによるOracle接続
私は2つのテーブルを持っています。1 番目のテーブルには 2 番目のテーブルへの参照が含まれていますが、2 番目のテーブルは自己参照です。
以下はサンプルテーブルです
と
期待される結果
クエリを選択
しかし、そうすると例外がスローされます
親切に回避策を提案してください。どうもありがとう。
oracle - Oracle を使用して過去 10 日間の売上を取得する
過去 10 日間の売上データを選択しようとしており、売上がなかった 0 の日付を含めます。
そのために、デュアルとレベルごとの接続を使用して実験していますが、日付が一致しない理由がわかりません。クエリは失敗します。
基本的な作業クエリは次のとおりです。
そして結果:
これでうまくいくと思いました。必要な日付が得られたので、サブクエリを追加して売上を取得することができました (結合について考えましたが、クエリのレベルで結合する方法が明確ではありませんでした) ):
ただし、売上があることがわかっている日でも、常に0が返されます。
greenplum - Greenplum でサポートされている再帰クエリ
Oracle には を使用しているクエリが 1 つありますCONNECT BY
。私の要件は、それを Greenplum Sql に移行する必要があることです。
n が再帰クラスで試行されたことがわかりましたが、エラーを下回っています
********** エラー **********
エラー: WITH 句の RECURSIVE オプションはサポートされていません
SQL 状態: 0AM00
以下の解決策が得られませんでした。また、再帰クラスで使用したクエリまたは例をお知らせ/投稿してください
要件は
私は次のようなテーブルを持っています:
Oracle のものに似たものを使用して、以下のような出力が必要connect by
です。
これは可能ですか?
sql - 階層クエリでの事前の使用
プロジェクトに階層クエリを実装しようとしています。私はインターネット上のほとんどのドキュメントを読みましたが、その中で PRIOR の使用に関連する情報を得ることができませんでした.
PRIOR はこのクエリで重要な役割を果たしますが、PRIOR の位置を変更したり、クエリから削除したりすると、別の結果が得られます。
これの正確な使用法を理解するのを手伝ってくれると本当に助かります。
ありがとう :)
sql-server - Oracle "start with" bottom to top recursion SQL Server equivalent
I have seen many posts that address how to convert an Oracle "connect by prior" statement to a SQL Server common table expression. However, I have an Oracle "connect by prior" statement that has a "start with fieldname in ('value1','value2','value3')" clause on it, and I am not seeing any examples out there on how to convert this to SQL Server. I believe this is considered "bottom to top" recursion.
Here is my Oracle query:
Sample table:
Sample data:
My query should work as follows:
- CHILD-A1 and its parents will be included: TOP, PARENT-A, CHILD-A1
- CHILD-C1 and its parents will be included: TOP, PARENT-C, CHILD-C1
- CHILD-A2 will be excluded since CHILD-A2 is not in my list. PARENT-A will get included because CHILD-A1 is in my list.
- PARENT-B & CHILD-B1 will get excluded since CHILD-B1 is not in my list.
- Final, distinct result set will be TOP, PARENT-A, CHILD-A1, PARENT-C, CHILD-C1
I hope I have explained this well. I have been searching for examples that fit this for a while today. Any input would be greatly appreciated.