問題タブ [inline-view]

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 投票する
3 に答える
1735 参照

sql - FROM句のサブセレクトのOracle構文?

Using Subqueriesによると、Oracle SQL は select ステートメントの from 句でサブクエリを受け入れます。

ただし、SELECT のドキュメントを見ると、from 句で選択/サブクエリを取得する可能性はありません (たとえば、ルールtable_referenceまたはからjoin_clause)。

ここで何か不足していますか? SQL 文法のこの部分は他の場所で文書化されていますか? それとも、これはドキュメントの別の不完全な部分ですか?

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

sql - T-SQL のフィルター処理されたインライン ビューに相当するエンティティへの Linq

作成する必要があるデータベースからのクエリがあります。T-SQL でクエリを記述する方法を理解しています。実際のクエリはもっと​​複雑ですが、パターンを簡単に説明すると次のようになります。

上記のフィルター処理されたインライン ビューと同等のものを生成するように、SQL を C# linq to sql (entityframework コア用) で記述する必要があります。目標は明らかに、ツリー A->B->C を常に含み、D または E を含む結果セットを、それらのノードが 2 次フィルタリングにも一致する場合にのみ返すことです。インライン ビュー内でフィルタリングを行うのは非常に簡単ですが、インライン ビューの外でフィルタリングを行うのは非常に難しいことに注意してください。それは意図ではありません。

ありがとう

PS: 明確にするために、最初に上記を次のように記述してみてください。

問題は、「d」エンティティの where 句が D エンティティが存在する行のみを返すため、そうでない場合はスタック全体が空になることです。'd' エンティティが null であるかフィルターに一致する場合にフィルターをかわいく取得しようとすると、その状況で EF によって生成された sql を調べると、それは正しくありません。上記の T-SQL と同様に、「結合」内で正しいフィルタリングを行う必要があります。

PPS: はい、親オブジェクト以外をフィルタリングしていない場合は、これを完全に省略して、インクルードと where 句を記述するだけでかまいませんが、よく考えてみると、ある用語でフィルタリングすると、ひ孫はフィルターをかけませんが、孫はコンプレックスです。どちらかの「フォーム」でクエリを書き出すことができれば、ありがたいです。