問題タブ [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.

0 投票する
4 に答える
3868 参照

mysql - MySQLのサブセレクトパフォーマンスの質問?

MySQLのサブセレクトパフォーマンスに関するアドバイスが必要です。変更できない理由で、JOINを使用してクエリフィルターを作成することはできません。WHEREに別のAND句を追加することしかできません。

のパフォーマンスは何ですか:

に比べ:

is_template = 1のプロジェクトは比較的少数であり、is_template<>1のプロジェクトは多数存在する可能性があることに注意してください。

何も変更できず、フィルタリングできない場合、副選択なしで同じ結果を達成する他の方法はありますか?

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

php - PHP/mySQL - ネストされた行を多次元配列にフェッチする方法

ループ内でdbクエリを決して使用しないことを学んだ私の別の質問から来て、ループする前に便利な方法ですべてのデータを取得する方法を学ばなければなりません。

「スケール」と「アイテム」の 2 つのテーブルがあるとします。items 内の各アイテムは、scale 内の 1 つの scale に属し、外部キー (scaleID) でリンクされます。最初の次元がすべての列を含むすべてのスケールであり、1 つのスケールのすべての列のすべての項目がネストされるように、1 つのクエリですべてのデータを配列構造にフェッチしたいと考えています。

結果は次のようになります。

これまでのところ、主に 1 対 1 の関係の左結合を行ってきました。これは一対多であり、私はそれについて頭を悩ませることはできません。

それは正しい結合ですか、サブクエリでも実行できますか、外側の行全体を取得する方法も...

後で、ネストされた foreach ループを使用して反復処理したいと思います。

頭が悪いだけなのかな…

0 投票する
5 に答える
5393 参照

sql - PostgreSQL-相関するサブクエリが失敗しますか?

私はこのようなクエリを持っています:

目標は、他のテーブルに5回出現するすべての要素のIDを取得することです。ただし、次のエラーが発生します。

私はデータベースに少し慣れていないので、おそらくここで何かばかげたことをしているでしょう。アクセスできるようにこのクエリを修正する方法はありますnum_thingsか?または、そうでない場合、この結果を達成する他の方法はありますか?

0 投票する
3 に答える
25494 参照

sql - SQLテーブルからLIKEアイテムを除外

テーブル B の除外リストを使用して、テーブル A の select ステートメントからアイテムを除外する方法を見つけようとしています。キャッチは、フィールドのプレフィックスに基づいて除外していることです。

したがって、フィールド値はおそらく「FORD Muffler」であり、それを基本的なクエリから除外するには、次のようにします。

しかし、値のリストを使用して別のテーブルから除外するには、次のようなサブクエリを使用します。

問題は、完全一致のみを除外し、LIKE またはワイルドカード (%) を除外しないことです。

どうすればこのタスクを達成できますか? 使用中の既存のテーブルであるため、テーブルの再設計はオプションではありません。

編集:申し訳ありませんが、SQL Server (2005) を使用しています。

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

sql - サブクエリのヘルプが必要

合計した 2 つの数値を取得する必要がありますが、1 つは合計注文数で、もう 1 つは未完了の注文数であるため、問題が発生しています。これらは同じ初期クエリを使用しますが、不完全な注文には追加の where 句があります。これらをクエリに入れて、2列だけを取得できますか? 以前に内部クエリを実行したことがありますが、2 つの異なる where 句を使用したクエリは実行したことがありません。どんなアイデアでも大歓迎

合計注文に使用するクエリは次のとおりです。

未完了の注文に使用するクエリ:

0 投票する
4 に答える
6108 参照

sql - MySQL 合計列を追加

この DB にクエリを実行して各行を取得する必要がありますが、結果の列値の 1 つの SUM も取得する必要があります。php を使用して合計値を取得することもできますが、合計を取得するために 2 つのループを実行する必要があります (結果の上部に表示されます)。したがって、クエリでそれをキャッチして「合計」行を作成することをお勧めしますが、それを機能させる唯一の方法は、本質的に元のクエリの繰り返しであるサブクエリを使用することです。より良い方法はありますか?

上記は機能し、次のように出力されます。

これは私が必要とするものですが、おそらくそれを取得する最良の方法ではありません.

0 投票する
4 に答える
37313 参照

sql - Oracle: サブクエリの複数の結果を 1 つのコンマ区切り値に結合する

単一列のサブクエリをコマンドで区切られたVARCHARタイプの値のリストに変換しようとしています。

これはこの質問と同じですが、SQL Server や MySQL ではなく Oracle の場合です。

0 投票する
6 に答える
29350 参照

sql - サブクエリで Top(1) を使用する必要がありますか

クエリの例:

したがって、SQL を読むことができる場合は、いくつかの相関サブクエリを実行して、結合の結果を絞り込んでいることがわかるはずです。(そして、はい、これはひどく単純化されています)。

特定のケースでは、サブクエリ:

複数の値を返すことができるため、エラーが発生します

「サブクエリが複数の値を返しました。サブクエリが =、!=、<、<=、>、>= の後にある場合、またはサブクエリが式として使用されている場合、これは許可されません。」

私は完全に期待しています。これは明らかに良いことではなく、最初からこれらの重複がデータベースに入るのを (うまくいけば) 防止するコードを用意しています (つまり、テーブル Bには

ただし、エンドユーザーは、ソフトウェアを壊すために私が考えられない方法を見つける点で創造的であるとは言えません。

だから今私の質問に:

最初のサブクエリを次のように変更した方がよいでしょうか

この状況が発生した場合/場合に (できれば決して) エラーが表示されないようにするか、エラーが発生するのを防ぎます。私は、トップステートメントを追加せずに、ユーザーに潜在的に間違ったデータを表示させるのではなく、エラーを通過させることに傾いています。このような状況でベスト プラクティスについて考えている人がいるかどうか疑問に思っています...

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

sql-server - Sql 2008 でこの空間クエリを実行するにはどうすればよいですか?

私はSQL 2008で空間クエリを実行しようとしています-> POIの特定のリスト(関心のあるポイント、長い/緯度のGEOGRAPHYデータ)、それらが存在する郵便番号(マルチポリゴンGEOGRAPHYデータ)。

これは私が試したクエリですが、構文的に正しくありません:-

これは、POI Id の csv リストを渡して分割することを意味します。それは問題ではありません..それは私のサブクエリですSTIntersects. それは無効です。

それで..何か提案はありますか?

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

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 つの行のうちタイムスタンプが大きい方の行が返されます。