問題タブ [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.
mysql - MySQLエラー1093-FROM句で更新するターゲットテーブルを指定できません
story_category
データベースに破損したエントリのあるテーブルがあります。次のクエリは破損したエントリを返します。
私はそれらを実行して削除しようとしました:
しかし、次のエラーが発生します。
#1093-FROM句で更新するターゲットテーブル'story_category'を指定できません
どうすればこれを克服できますか?
sql - nHibernate サブクエリの結果のカウント (*) を選択する方法
nHibernate でクエリをページングするには、次のことを行う必要があります。
私は次のことを試しました、
そして、オブジェクトを int32 に変換できないという nHibernate 例外が発生します。
必要な構文に関するアイデアはありますか?
編集
サブクエリは明確な句を使用します。有効な構文ではなく、意味がないCount(*)
ため、e.ID、e.Name を置き換えることはできません。Count(*) distinct
distinct count(*)
sql-server - IN() 句のサブクエリが原因でエラーが発生しました
私は SQL Server 2005 を使用していますが、エラーが発生するはずがないと確信しています。
このMSDN リンクの例 # B に従っています 。
私のストアドプロシージャコードは次のとおりです。ご要望があれば、この投稿のために簡略化できます。
サブクエリからの結果セットと、サブクエリの結果が比較される strSearchTypeCode の間にデータ型の不一致がないことを確認しました。
これがうまくいかない理由はわかりません。手がかりがあれば、私に知らせてください。
sql-server - ビューとインライン サブクエリ SQL Server 2005/2008
アプリケーションの特定の領域では、データベース内の複数のテーブルからのデータが必要です (アプリケーションがあり、アプリケーションには多くの属性があり、各属性にはいくつかの定義があり、各定義には値があります)。アプリケーション用にこれらすべてのテーブルのデータが必要です。レコードを選択するためにビュー (かなり大きいビュー) またはサブクエリを使用する必要がありますか? サブクエリの場合、オプティマイザは効率的に機能しますか? サブクエリでキャッシングが機能するかどうかも興味があります。
sql - SQL サブクエリ
このようなSQLデータがあります
「イベント」のすべてのフィールドと、そのイベントに現在登録されている人数を示す追加フィールドを選択したいと思います。この場合、アーチェリーの登録者は 2 人、水泳の登録者は 1 人、料理の登録者は 0 人になります。
これは単一のクエリで実現できると思いますが、正しい構文はわかりません。そのデータを取得するためのクエリはどのように作成されますか?
更新: すばらしい回答をありがとうございます。
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 テーブルです。クエリは、で終わるすべての単語を検索することです。指定された音素 (音素とは単語の音であり、使用法は国際音声アルファベット に似ています)
sql - SQL の合計の最大値
次のように、店舗、店舗内の部門、および各部門の売上のリストがあります (サブクエリで max(sales) を使用して作成されますが、ここではそれほど重要ではないと思います):
各店舗で一番売れている売り場をお聞きしたいです。結果は次のようになります。
GROUP BY を使用すると、サブクエリからのすべてのリストが含まれます。一時テーブルなしでこれを行うためのきれいな方法はありますか?
mysql - MySQL がこのサブクエリのインデックスを使用しないのはなぜですか?
私はこれをやっていた:
これにより、レイヤーIDの配列が得られ、ループしてそれぞれに対してこれを実行します。
そして、それはすべてうまくいきました。だから今、私はそれを1つのステップでやろうとしているので、これを試します:
しかし、何らかの理由で、メイン クエリのインデックスを使用しませんSELECT DATA etc
。したがって、この 1 つの結合されたクエリは、以前に行っていた個別のクエリと比較して、完了するまでにはるかに長い時間がかかります。(ちなみに、サブクエリはSELECT layerID etc
引き続きインデックスを使用します)。
「EXPLAIN」ステートメントを使用して、クエリを使用しているかどうかを判断しました。
ownerID
テーブルの列とcollectionID
列layers
、およびテーブルの列に個別のインデックスがlayerID
ありdrawings
ます。
クエリのどこが間違っていますか?
linq - 階層データ構造を埋めるためのLINQグループ化/サブクエリ
以下のようなクエリを実行するDataTableがあります
私がやろうとしているのは、UserGroupインスタンスの配列を返すLINQステートメントを作成することです。UserGroupクラスには、UserGroupIdとUsersのプロパティがあります。Usersは、Userインスタンスの配列です。Userクラスには、UserIdとUserNameのプロパティがあります。
このような階層を埋めるのは、単一のLINQステートメントで実行できますか?それはどのようになりますか?
どうもありがとう
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)
EXPLAIN
type:range
サブクエリによって返されるデータのインデックスをクエリに使用させるにはどうすればよいですか?または、このデータを取得するためのより効率的な方法はありますか?(IDリストをアプリケーションサーバーに取得し、それに参加して2番目のクエリを送信すると、ここではさらにコストがかかります)。
前もって感謝します。