問題タブ [subquery]
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 - SQL テーブル サブクエリ
仮説的に言えば、foo
とという名前の 2 つのテーブルがあります。bar
foo には列がfoo_id
あり、foo_fluff
bar には列がありますbar_id
, foo_id
,timestamp
テーブル bar に含まれる foo_id に対して、最新のタイムスタンプを使用して 1 行を返すクエリが必要です。
したがって、bar に 3 つの行があり、そのうち 2 つの行の foo_id が 1 で、1 つの行の foo_id が 2 の場合、2 つの行が返されます。foo_id 1 の場合、2 つの行のうちタイムスタンプが大きい方の行が返されます。
sql - サブセレクトの値をマスターセレクトの値と比較する
MS Access では、外側のクエリの列を内側のクエリの条件として使用したいクエリがあります。
重要なポイントはFirstOfattendance_date
、マスター選択の各反復で値を使用するために、サブ選択の深い部分で比較したいということです。明らかにこれは機能しませんFirstOfattendance_date
。実行しようとすると値を尋ねられます。
VBコードに頼らずにこれをやりたいのですが...何かアイデアはありますか?
sql - JOIN 構文での MySQL 相関サブクエリ
innertable.id = outertable.id を指定して、内部クエリに WHERE 条件を提供したいと考えています。ただし、MySQL (5.0.45) は「'where 句' の不明な列 'outertable.id'」を報告します。このタイプのクエリは可能ですか?
内部クエリは、GROUP BY を使用して行を列にピボットしています。これは完全に外側のクエリで実行できますが、追加の結合により追加のオーバーヘッドが発生する可能性があります。
別の方法として、内側のクエリで WHERE 条件を省略し、代わりに ON outertable.id = innerquery.id を指定することもできますが、内側のクエリの行セット全体をフェッチして、外側のクエリを再度結合することになり、非効率的です。
実際の SQL は次のようになります。
.net - カウントを含むサブクエリで左結合を使用する Linq
SQL を linq 構文に変換するのに苦労しています。
CategoryID で相互に参照する 2 つのテーブル (Category と CategoryListing) があります。Category テーブル内のすべての CategoryID のリストと、CategoryListing テーブル内の対応するすべての一致の CategoryID のカウントを取得する必要があります。CategoryID が CategoryListing に存在しない場合でも、CategoryID が返される必要がありますが、頻度は 0 です。
次の SQL クエリは、期待される結果を示しています。
sql - SQL クエリのパフォーマンスに関する質問 (複数のサブクエリ)
私はこのクエリを持っています:
これは、アクティブなリビジョンがない場合を除き、各ページとそれぞれの最新のアクティブなリビジョンを返します。アクティブなリビジョンがない場合は、単に最新のリビジョンを返します。
これを最適化してパフォーマンスや一般的な読みやすさを向上させる方法はありますか? 今のところ問題はありませんが、心配なのは、これが実稼働環境 (大量のページが存在する可能性がある環境) に入ると、パフォーマンスが低下することです。
また、私が知っておくべき明らかな問題はありますか? サブクエリの使用は常に私を悩ませますが、私の知る限り、サブクエリなしではこれを行うことはできません.
注:
条件が WHERE 句ではなく JOIN にある理由は、他のクエリ (これと同じロジックが使用されている場合) で、「サイト」テーブルから「ページ」テーブルに LEFT JOIN しているためです。まだサイトを返してほしい。
ジャック
編集: MySQLを使用しています
mysql - この遅い mysql クエリを改善するためのヒントはありますか?
通常は 1 秒未満で実行されるクエリを使用していますが、完了するまでに 10 ~ 40 秒かかる場合があります。サブクエリがどのように機能するかについては、実際には完全に明確ではありません。faverprofileid ごとに 15 行が得られるという点で、それが機能することだけはわかっています。
遅いクエリをログに記録すると、5823244 行が検査されたことがわかります。これは、関連するテーブルのいずれにもそれほど多くの行がないため、奇妙です (お気に入りテーブルには 50,000 行が最も多くあります)。
誰かが私にいくつかの指針を提供できますか? サブクエリの問題であり、ファイルソートを使用する必要がありますか?
編集: Explain を実行すると、 users テーブルがインデックスを使用していないことが示されます (id が主キーであっても)。余分な下には、次のように書かれています:一時的な使用。ファイルソートの使用。
sql - SQLサブクエリを結合に変換する方法
1:nの関係を持つ2つのテーブルがあります:「content」と「versioned-content-data」(たとえば、記事エンティティとその記事で作成されたすべてのバージョン)。各「コンテンツ」のトップバージョンを表示するビューを作成したいと思います。
現在、私はこのクエリを(単純なサブクエリで)使用しています:
サブクエリは、実際には、特定のアイテムの最高バージョンを抽出する同じテーブルへのクエリです。バージョン管理されたアイテムは同じfk_idothertableを持つことに注意してください。
SQL Serverで、このクエリのインデックス付きビューを作成しようとしましたが、インデックス付きビューではサブクエリが許可されていないため、作成できないようです。それで...ここに私の質問があります...このクエリをJOINを使用してある種のクエリに変換する方法を考えられますか?
インデックス付きビューには次のものを含めることができないようです。
- サブクエリ
- 一般的なテーブル式
- 派生テーブル
- HAVING句
私は絶望的です。他のアイデアは大歓迎です:-)
どうもありがとう!
oracle - FROM リスト内の Oracle 相関サブクエリ
FROM
Oracleのステートメントの句で相関サブクエリを実行しようとしましたが、相関を実行SELECT
できないことを示すエラーが表示されました (Obs.pID
認識されなかった効果の何か)。
これは機能するはずですか?
私の回避策は、それを相関関係のないサブクエリにし、完全に実行されないようにする基準をサブクエリに追加することのようです。
ただし、可能であれば、それを適切に関連付ける方法を見つけたいと思います-そのサブクエリのように機能するビューは、構築に永遠にかかります。