問題タブ [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 に答える
1202 参照

sql - マップテーブルに含まれていない2つのテーブルから値を選択するにはどうすればよいですか?

次のテーブルがあるとしましょう。

  • お客様
  • 製品
  • CustomerProducts

値がマップテーブルにないCustomersテーブルとProductsテーブルから選択する方法はありますか?基本的に、私は顧客と彼らが所有していない製品の一致したリストが必要です。

もう1つの工夫:製品ごとに1人の顧客をペアリングする必要があります。したがって、5人の顧客が製品Aを持っていない場合、クエリの最初の顧客だけが製品Aを持っている必要があります。したがって、結果は次のようになります。

(すべての顧客が製品Bを所有し、複数の顧客が製品A、C、およびDを所有していると想定します)

  1. 顧客1、製品A
  2. 顧客2、製品C
  3. 顧客3、製品D

最後の工夫:SQLサーバーのUPDATEステートメントの一部としてこのクエリを実行する必要があります。したがって、最初の行から値を取得する必要があります。

顧客1、製品A

顧客レコードを次のようなものに更新します

しかし、このプロセス全体を1つのSQLステートメントで実行できれば便利です。したがって、クエリを1回実行すると、1人の顧客が所有していない製品で更新されます。それがあなたにとってあまり混乱しないことを願っています!前もって感謝します!

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

mysql - Cache/Re-Use a Subquery in MySQL

I have a very complex MySQL query that includes use of the same subquery three times. Will MySQL actually run the subquery three times? (It's an expensive one.) If so, is there a way for me to tell MySQL to save or cache the results so it won't do that? I could save the data in a large array then re-feed it to MySQL, but I'd rather not move it out and back into the database like that.

This is the subquery that appears three times:

And here's an example of the full query in which the query appears:

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

sql - SQL クエリの質問 (結合/サブクエリの可能性はありますか?)

2 つのテーブル ( ManagementEmployee ) があります。

管理テーブルは、過去数年間に会社 X を管理してきたさまざまな管理チームを追跡します。各管理チームには ID (例: managementnr) が与えられ、各チームには CEO (つまり ceoname) がいます。

employee テーブルは、会社 X で働く従業員を追跡します (基本的には、従業員の名前と、どの管理チームが採用したかだけです)。

SQL コードは次のとおりです。

最も多くの従業員が雇用されている managementNR を取得する SQL クエリを作成しようとしています。私は使用してみました:

しかし、私は取得し続けます:

(私はオラクルを使用しています)

何時間も Google-fu を使用した後、ようやくこのエラーの意味がわかりましたが、このクエリを作成する他の方法はまだ考えられません。サブクエリ/結合を使用してみましたが、まだ何もありません。私は一般的にSQLに非常に慣れていません。誰かが助けることができれば、私は本当に感謝しています!

お時間をいただきありがとうございます =] --
エヴァン・レストレンジ

0 投票する
10 に答える
95691 参照

sql - CTEとサブクエリの違いは?

この投稿から次の手順で ROW_NUMBER を使用するには?

回答には 2 つのバージョンがありsub-query、一方は a を使用し、もう一方は aを使用しCTEて同じ問題を解決します。

さてCTE (Common Table Expression)、「サブクエリ」よりも a を使用する利点は何ですか(したがって、クエリが実際に行っていることをより読みやすくします)

CTEオーバーを使用する唯一の利点はsub-select実際に. CTE が単純な (非再帰的な) CTE として使用される場合、これら 2 つの間に他に違いはありますか?sub-query

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

mysql - サブクエリを使用するとクエリの実行が遅くなるが、個別に実行するとそうではない原因は何ですか?

次のようなものがあります。

問題は、クエリに非常に長い時間がかかることです(> 2分)が、サブクエリを取得して個別に実行し、IDを内破してメインクエリに挿入すると、1秒未満で実行されます。データの取得と内破。

メソッドとキーの両方の説明が適切に同じ方法で使用されていることを確認しました。サブクエリは 200 を超える ID を返しません。

サブクエリ メソッドにこれほど長い時間がかかる原因は何でしょうか?

ところで、上記のクエリは結合で記述できることは知っていますが、私が持っているクエリはそうではありません。これは単純化されたバージョンです。

MySQL 5.0.22 を使用。

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

sql - サブクエリの代わりに結合を使用するようにこのクエリを変換することは可能ですか?

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

sql - MYSQLの最適化と質問

MySQLクエリを最適化しようとしていますが、助けが必要です。これが私の現在のクエリです:

私はそれがより速くなることができるとかなり確信しています。

また、region_idですべての製品を選択しようとすると(「ANDregion_id = MYID」などを追加して)機能しないので、機能させることができるかどうか、またどのようにしたらよいのでしょうか。

お時間をいただきありがとうございます!

解決

これが私の最後の質問です、それが誰かを助けることができるなら:

ありがとう!

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

sql-server - Update ステートメントでのサブクエリの使用

削除時に起動するトリガーに次の SQL ステートメントがあります。

私の問題は、最後がテーブルではなくテーブルをSortOrder参照していることです。エイリアスはステートメントであるため、テーブルに追加することはできません。代わりにどうすればよいですか?Deletedbk2_InfoPagesbk2_InfoPagesUPDATE

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

sql-server - MSSQL JOIN ONGROUPBYが遅すぎます

MSSQLで次のクエリがあります

超高速です。このようなサブクエリで使用しようとすると。

なぜこれがとても遅いのか、そしてどうすればそれをスピードアップできるのかについてのアイデアはありますか?私の主キーは(MovieID-CustomerID)で、CustomerIDにインデックスを追加しました

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

sql - サブクエリ内で異なる型の 2 つの値を比較する

私は MS SQL データベースを使用しており、「base_info」、「messages」、「config」の 3 つのテーブルがあります。

わかりましたので、構成テーブルから 'SignalRec' と 'SignalOut' を選択し、メッセージ テーブルで ID と日付 (上記には含まれていません) で照合するサブクエリがあります。 messages.RecBy = config.RecBy ですが、config.RecBy は文字列ですが、同等です Name はベース テーブルにあります。したがって、サブクエリまたは何らかのタイプの結合内でサブクエリを実行し、返された値を比較する必要がほとんどあります。
これが私がこれまでに持っているものです:

これをできるだけ明確にしようとしましたが、さらに情報が必要な場合はお知らせください。