問題タブ [recursive-query]
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 - 再帰的 CTE は行ごとにどのように実行されますか?
再帰的 CTE の形式を十分に理解して記述できるようになったと思いますが、手動で処理できないことに不満を感じています (SQL エンジンのふりをして、ペンと紙で結果セットに到達します)。 . 私はこれを見つけました、これは私が探しているものに近いですが、十分に詳細ではありません. C++ の再帰関数をトレースして、それがどのように実行されるかを理解するのに問題はありませんが、SQL の場合、エンジンが停止する理由や方法がわかりません。アンカーと再帰ブロックは毎回呼び出されますか、それともアンカーは後の反復でスキップされますか? (私はそれを疑いますが、私はそれが飛び回るように見える方法についての私の混乱を表現しようとしています.) アンカーが毎回呼び出される場合、アンカーが最終結果に複数回表示されないのはなぜですか? 結果セットが蓄積されると、何が起こり、何が「メモリ内」にあるかを、誰かが1行目、2行目などの内訳を実行できることを願っています。
このページが最も理解しやすいと思われるため、自由にこのページから例を盗み出しました。
sql - すべて同じテーブル上の 3 つのレベルでの 1 対多の結合
ページを含むこのテーブルがあります。これらのページには、同じテーブル内のページでもある親があります。
この例では、テーブルは次のようになります。
私の質問は、次のようなメニュー構造を作成するときに SQL がどのように見えるかです。
私は現在これを持っています:
しかし、それは私が望む出力をほとんど作成せず、完全に間違った方法で行っていると思います...
編集:
これは私が現在持っているものです:
最初の再帰は機能しているように見えますが、2回目は機能していないようです。
結果:
mysql - MySQL範囲内の欠落している日付を埋める方法は?
日付とスコアの 2 つの列を持つテーブルがあります。過去 30 日間のそれぞれについて、最大 30 のエントリがあります。
私の問題は、いくつかの日付が欠落していることです-私は見たいです:
1 つのクエリから必要なのは、19,21,9,14,0,0,10,0,0,14 を取得することです。つまり、欠落している日付は 0 で埋められます。
私はすべての値を取得する方法を知っており、サーバー側の言語で日付を繰り返し、空白を逃しています。しかし、これはmysqlで実行できるので、結果を日付でソートして不足している部分を取得します。
編集: このテーブルには UserID という名前の別の列があるため、30.000 人のユーザーがいて、そのうちのいくつかはこのテーブルにスコアがあります。各ユーザーの過去 30 日間のスコアが必要なため、日付が 30 日未満の場合は毎日日付を削除します。その理由は、過去 30 日間のユーザー アクティビティのグラフを作成しており、グラフをプロットするには、30 個の値をコンマで区切る必要があるためです。したがって、クエリで USERID=10203 アクティビティを取得すると、クエリは過去 30 日間のそれぞれについて 1 つずつ、30 のスコアを取得すると言えます。私は今、より明確になったことを願っています。
java - 再帰的な JPA クエリ?
JPA 2 には、再帰クエリを実行するためのメカニズムがありますか?
これが私の状況です: 整数フィールド x を含むエンティティ E があります。また、@OneToMany を介してマップされたタイプ E の子を持つこともできます。私がやりたいのは、主キーで E を見つけ、その値 x とそのすべての子孫の x 値を取得することです。単一のクエリでこれを行う方法はありますか?
私は Hibernate 3.5.3 を使用していますが、Hibernate API に明示的な依存関係を持たないようにしたいと考えています。
編集:この項目によると、Hibernate にはこの機能がないか、少なくとも 3 月にはありませんでした。したがって、JPAがそれを持っている可能性は低いようですが、確認したいと思います.
c++ - 再帰インライン関数
私はこのファイルを持っています:
再帰関数がある場合、コンパイラは通常、インライン宣言を無視することに気付きました。しかし、私の質問は、インライン宣言を削除すると、次のことができる理由です。
それらは問題ありませんが、リンケージ段階では:
エラーが表示されます: `MyFactorial(int) の複数の定義
postgresql - クエリを使用して再帰的に親を検索する
私はpostgresqlを使用しています。私は以下のようなテーブルを持っています
入力の最後の親を与えるSQLクエリを書きたいと思います。
つまり、入力として106を渡すとすると、その出力は103になります。
sql - MySQLの再帰的に保存された関数
特定のカテゴリのパスを再帰的に構築する関数を作成しようとしています
親を持たないカテゴリ(parent_id = 0)でこの関数を実行しようとすると正常に機能しますが、parent_id> 0のカテゴリを試してみると、1424の再帰的な保存関数とトリガーが許可されません。
これを回避するにはどうすればよいですか?このコードは、少なくともMySQLサーバーバージョン5.1が必要な通常のWebホスティングサービスでホストします。
Ike Walkerの助けを借りて、代わりにうまく機能する手順を作成しました
それから私はそれを呼び出すためにこのようなものを使用します
php - 自己関係カテゴリ テーブルのクエリ
次の表のphpコードを最適化しようとしています
すべてのカテゴリとサブカテゴリを取得するには、1 つのクエリを使用して親カテゴリのみをクエリし、個々のクエリを発行してサブカテゴリを取得します。
ここにすべての主要なカテゴリをリストするための私のコードがあります
各カテゴリの個々のサブカテゴリを一覧表示するには、次のクエリを使用します
私は 30 のカテゴリを持っているので、上記は各ページで 30 のクエリを発行します。クエリの数を最小限に抑えようとしています。ヒントはありますか?
ありがとう
sql - SQL 再帰関数 - マネージャーを見つける
次のテーブルがあるとしましょう
基本的に要件は、検索している user_id の下にあるすべてのマネージャーを取得することです。たとえば、「Linda」を送信すると、次のように返されます。
または、「マーク」を送信すると、次のように返されます。
再帰関数について聞いたことがありますが、これを行う方法がわかりません。どんな助けでも大歓迎です。
php - PHP/MySQL の再帰関数で JOIN を使用できますか?
次の表があります。
次の関数を使用して、配列ツリーを生成できます。
ここで、トレーナー テーブルに参加して、トレーナーの名前を取得したいと考えています。
さまざまな方法で参加しようとしましたが、すべての配列でトレーナーの名前を取得できません。
JOIN を使用して再帰関数でトレーナーの名前を取得する方法はありますか?
上記の関数は CodeIgniter ですが、無視してください。
前もって感謝します。