問題タブ [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 投票する
16 に答える
595001 参照

mysql - MySQLエラー1093-FROM句で更新するターゲットテーブルを指定できません

story_categoryデータベースに破損したエントリのあるテーブルがあります。次のクエリは破損したエントリを返します。

私はそれらを実行して削除しようとしました:

しかし、次のエラーが発生します。

#1093-FROM句で更新するターゲットテーブル'story_category'を指定できません

どうすればこれを克服できますか?

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

sql - nHibernate サブクエリの結果のカウント (*) を選択する方法

nHibernate でクエリをページングするには、次のことを行う必要があります。

私は次のことを試しました、

そして、オブジェクトを int32 に変換できないという nHibernate 例外が発生します。

必要な構文に関するアイデアはありますか?

編集

サブクエリは明確な句を使用します。有効な構文ではなく、意味がないCount(*)ため、e.ID、e.Name を置き換えることはできません。Count(*) distinctdistinct count(*)

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

sql-server - IN() 句のサブクエリが原因でエラーが発生しました

私は SQL Server 2005 を使用していますが、エラーが発生するはずがないと確信しています。

このMSDN リンクの例 # B に従っています 。

私のストアドプロシージャコードは次のとおりです。ご要望があれば、この投稿のために簡略化できます。

サブクエリからの結果セットと、サブクエリの結果が比較される strSearchTypeCode の間にデータ型の不一致がないことを確認しました。

これがうまくいかない理由はわかりません。手がかりがあれば、私に知らせてください。

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

sql-server - ビューとインライン サブクエリ SQL Server 2005/2008

アプリケーションの特定の領域では、データベース内の複数のテーブルからのデータが必要です (アプリケーションがあり、アプリケーションには多くの属性があり、各属性にはいくつかの定義があり、各定義には値があります)。アプリケーション用にこれらすべてのテーブルのデータが必要です。レコードを選択するためにビュー (かなり大きいビュー) またはサブクエリを使用する必要がありますか? サブクエリの場合、オプティマイザは効率的に機能しますか? サブクエリでキャッシングが機能するかどうかも興味があります。

0 投票する
7 に答える
8163 参照

sql - SQL サブクエリ

このようなSQLデータがあります

「イベント」のすべてのフィールドと、そのイベントに現在登録されている人数を示す追加フィールドを選択したいと思います。この場合、アーチェリーの登録者は 2 人、水泳の登録者は 1 人、料理の登録者は 0 人になります。

これは単一のクエリで実現できると思いますが、正しい構文はわかりません。そのデータを取得するためのクエリはどのように作成されますか?

更新: すばらしい回答をありがとうございます。

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

sql - 興味深い多対多のSQL結合

関連する 3 つのテーブル "A(id, val)"、"B(id, val)"、および値が "AB(aid, bid, val)" のリンク テーブルがあります。

B に対してクエリを実行して A の値を取得しています。たとえば、次のようになります。

すべての A には多くの B があり、すべての B には多くの A があります。

そして、私がバラバラになっているキャッチは、AB.valが特定のA/Bペアの最大値である場合にのみクエリが行を返すように、セットをフィルタリングする必要があることです

たとえば、データがある場合:

B

AB

AB の最初と最後の行のみを選択したいと思います。これらはそれぞれの A の最大値であり、B.val = 'foo' に対してクエリを実行して最初の行のみを返すことができるためです。AB テーブルの max val 行のみを制約する方法についての手がかりがありません。

私が得ることができた最高のものは

しかし、これはうまくいきません。まず、アプローチが間違っているように感じます。次に、悪い入札値を返します。つまり、サブクエリから返される入札は、必ずしも max(val) と同じ行からのものであるとは限りません。これは、列が照合またはグループ化に指定されていない場合に返される値の選択が定義されていないという既知のグループの問題であると思います。

上記のいくつかが理にかなっていることを願っています。私はこれについて過去数時間壁に頭をぶつけていました。どんな助けでも大歓迎です。ありがとう。

(疑問に思われている方のために説明すると、これの実際の使用は Dictionary バックエンドであり、A は単語テーブル、B は音素テーブルです。AB は「位置」列を持つ WordPhoneme テーブルです。クエリは、で終わるすべての単語を検索することです。指定された音素 (音素とは単語の音であり、使用法は国際音声アルファベット に似ています)

0 投票する
7 に答える
29954 参照

sql - SQL の合計の最大値

次のように、店舗、店舗内の部門、および各部門の売上のリストがあります (サブクエリで max(sales) を使用して作成されますが、ここではそれほど重要ではないと思います):

各店舗で一番売れている売り場をお聞きしたいです。結果は次のようになります。

GROUP BY を使用すると、サブクエリからのすべてのリストが含まれます。一時テーブルなしでこれを行うためのきれいな方法はありますか?

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

mysql - MySQL がこのサブクエリのインデックスを使用しないのはなぜですか?

私はこれをやっていた:

これにより、レイヤーIDの配列が得られ、ループしてそれぞれに対してこれを実行します。

そして、それはすべてうまくいきました。だから今、私はそれを1つのステップでやろうとしているので、これを試します:

しかし、何らかの理由で、メイン クエリのインデックスを使用しませんSELECT DATA etc。したがって、この 1 つの結合されたクエリは、以前に行っていた個別のクエリと比較して、完了するまでにはるかに長い時間がかかります。(ちなみに、サブクエリはSELECT layerID etc引き続きインデックスを使用します)。

「EXPLAIN」ステートメントを使用して、クエリを使用しているかどうかを判断しました。

ownerIDテーブルの列とcollectionIDlayers、およびテーブルの列に個別のインデックスがlayerIDありdrawingsます。

クエリのどこが間違っていますか?

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

linq - 階層データ構造を埋めるためのLINQグループ化/サブクエリ

以下のようなクエリを実行するDataTableがあります

私がやろうとしているのは、UserGroupインスタンスの配列を返すLINQステートメントを作成することです。UserGroupクラスには、UserGroupIdとUsersのプロパティがあります。Usersは、Userインスタンスの配列です。Userクラスには、UserIdとUserNameのプロパティがあります。

このような階層を埋めるのは、単一のLINQステートメントで実行できますか?それはどのようになりますか?

どうもありがとう

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

mysql - MySQL-WHERE x INでインデックスを使用する方法()。

このクエリを使用して、{小文字の「a」で始まる名前のクライアント}のすべての従業員を取得しています。

employees.client_idはintであり、INDEX client_id (index_id)。サブクエリは、IDのリストをIMHOが返す必要があります。これは、WHERE句で使用されます。

クエリをEXPLAIN実行すると、プライマリクエリはインデックスを使用しません(type:ALL)。しかし、サブクエリ(たとえば)EXPLAIN から取得したリストを実行すると、に切り替わり、このクエリは50%高速になります。SELECT ... WHERE client_id IN (121,184,501)EXPLAINtype:range

サブクエリによって返されるデータのインデックスをクエリに使用させるにはどうすればよいですか?または、このデータを取得するためのより効率的な方法はありますか?(IDリストをアプリケーションサーバーに取得し、それに参加して2番目のクエリを送信すると、ここではさらにコストがかかります)。

前もって感謝します。