問題タブ [nested-queries]

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 投票する
1 に答える
454 参照

mysql - ネストされたクエリを使用して MySQL でリーダーボード (ランク付けされたメンバーのリスト) を作成する

以下の 2 つのネストされたクエリを使用して、サイトにメンバーのリーダーボードを作成しようとしています。

最初のクエリは、メンバーのリストを取得します。

2 番目のクエリは最初のクエリ内にネストされ、メンバーのエントリがお気に入りに追加された回数を取得します。

だから私が持っているコードは次のようなものです:

最初のクエリ内に 2 番目のクエリをネストすると、メンバーの適切なリストとそれぞれが受け取った投票数が得られますが、リストは 2 番目の (内部) クエリではなく、最初の (外部) クエリで並べ替えられます。

2 つの質問:

  1. favorite_countメンバーのリストを降順に並べ替えるにはどうすればよいですか?
  2. これを行うための最もリソース効率の良い方法は何ですか? ネストされたクエリは最善の方法ではないと思いますが、正直なところ、それ以上のことはわかりません。
0 投票する
2 に答える
1207 参照

mysql - 2 つのネストされたクエリを使用する MySQL の代替手段

MYSQL 結合について学習しようとしていますが、これを理解するのに苦労しています。userID が特定のユーザーと関係がある table1 のすべての行を取得したいと考えています。

table2 にはユーザーの関係が含まれているため、userID は iduser1 フィールドまたは iduser2 フィールドのいずれかにある可能性があります。次のクエリを実行すると、正しい結果が得られます。

MySQL のネストされたクエリは、パフォーマンスに関しては評判が悪いと言われており、何らかの方法で JOINS を使用してこの同じクエリを実行できると確信していますが、特に table1. iduser は、table2.iduser1 または table2.iduser2 のいずれかにすることができます

同じテーブルに 2 回参加するにはどうすればよいですか?

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

mysql - クエリをより効率的にする

私が欲しいのは、1 つのイベントの参加者 (参加者の役割を持つ人々) と、参加者と同じ会社のマネージャーの役​​割を持つ人々を組み合わせたものです。

個人の役割は person_role_membership に保存されますが、個人の会社は People に保存されます。次のクエリを作成しましたが、これはかなりうまく機能すると思います。余分な結合と情報は無視してください。すべての参加者をフェッチしてから、すべてのマネージャーと UNION を実行します。そのために、もう一度すべての参加者をフェッチします。ここで問題になるのは、このクエリ全体です。小さなサブセットに 9 秒かかるためです。速くする方法はありますか?

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

mysql - 2つの列から選択して1列のクエリを作成する方法 mysql

次のようなテーブルを持つメッセージング システム (非常に基本的な) があります。

RUSERは受信ユーザーで、SUSERは送信ユーザーです。特定のユーザー メッセージを出力するクエリを出力したい場合は、現在次のようにします。

RUSER_ID=$USER_ID または SUSER_ID=$USER_ID の PRIVATE_MESG から * を選択します

これにより、その USER_ID に関連付けられているすべての message_id が得られます。私が望むのは、特定のユーザーに関連付けられたRUSER_IDまたはSUSER_IDに関連付けられたIDのみを生成する列を作成することです。RUSER_ID または SUSER_IDが USER_ID と等しいメッセージを選択する必要がありますが、USER_IDではないメッセージのみを表示します

次に、そのクエリの出力でグループを作成したいと思います。

どんな助けでも大歓迎です!

ありがとう!

update私は本当にmessage_idを探しているのではなく、その人が書いた、または受け取ったユーザーのリストを探しているだけです。

更新 誰もが知っているように、私はこの質問に対する答えを完璧に受け取りました! 後で微調整して、日付順に新しいものから古いものへと表示されるようにしました。DATE() 関数と TIME() 関数を使用して、DATETIME を DATE と TIME に分割することでこれを行いました。これが私の最後のクエリでした:

これが次の人に役立つことを願っています!

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

mysql - ネストされたクエリとトランザクション

更新 #1:クエリを実行すると、左結合行で構文エラーが発生します (ただし、左結合内でクエリを実行すると、完全に機能します)

元の投稿:

同じテーブルで借方と貸方を追跡します。テーブルには次のスキーマがあります。

私の結果として、私は見たい:

残高: (sum(credit) - sum(debits))* で計算 - タイムスタンプは関係ありません
Current_Usage: sum(debits) で計算 - ただし、JUN の借方のみ。

問題: すぐに JUN タイムスタンプでフィルター処理すると、すべての時間の残高が計算されず、6 月のトランザクションの残高だけが計算されます。

月ごとの現在の使用量を計算する方法はありますが、テーブル内のすべてのトランザクションの残高は計算できます。私のコードでは、JUN の結果のみが現在の使用量の計算にフィルター処理されることを除いて、すべてが機能しています。

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

linq - Linq のネストされた内部結合

次のテーブルに参加したい

最初に B_Book と BI_BookInstance を結合し、次に両方の結果を BookCategory で結合します。(1 番目の結合)[B_BID は BI_BID と等しい] (2 番目のネストされた結合)[1 番目の結合の結果 B_CategoryID は BC_CategoryID と等しい]

編集

SQL は次のようなものになります。

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

php - あるmySQLクエリの出力(その値)を別のクエリで使用する必要があります

あるクエリの出力を別のクエリの値として使用するのに問題があります。問題は、次のクエリを使用して1つの製品の価格を取得する必要があることです(これは正常に実行されます)。

$ PIDはPHP変数であり、このクエリは問題なく機能します。問題は、購入者の残高から製品の価格を差し引きたいときに発生します。私は次のクエリでそれをやろうとしました:

$ cenaはPHP変数であり、その値が最初のクエリです。

2番目のクエリはまったく機能せず、エラーメッセージは返されませんが、購入者の残高は変わりません。


誰かがそれを必要とする場合の短い辞書: Cena - Price; Proizvod - Product; Kupuvac - Buyer; Saldo - Balance

前もって感謝します!

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

mysql - IN句に使用する変数としてグループ連結を使用してテーブルからIDのリストを取得する

のテーブルlocationsとのテーブルがありstockLevelsます。私は複雑なクエリに取り組んでおり、長い間在庫があったアイテム、それらがどこにあるか、その他いくつかのことをすべて1回のヒットで教えてくれます。

その一部は私に不正確な結果を与えています。

これはクエリ全体のスニペットであり、内部SELECTは単独で機能しますが、IDのリストをIN句に適用しておらず、最初の句を読み取ったようです。

それで、より明確に説明するために。

内側SELECT

カンマ区切りのリスト値を、という名前の列として返します。値は次のとおりですidList1,2,10,11

このクエリは機能します。

元のクエリでそのカンマ区切りのリストを手動で使用すると、次のようにも機能します。

このコードによってエラーは生成されませんが、生成される結果は次のクエリの結果です。

そのため、外部クエリのIN句に挿入されている内部クエリによって生成されたコンマ区切りのリストを取得していません。

誰かが理由をアドバイスできますか?

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

mysql - SQL ネストされたクエリが正しく相関していないと解釈される

ネストされたクエリに重大な問題があります。実際には相関していないはずのMySQLが相関サブクエリとして解釈していると思われます。クエリは 2 つのテーブルにまたがっており、1 つは製品のリストで、もう 1 つはさまざまな時点での価格です。私の目的は、常に特定の値を超える価格帯を持つ製品の各価格レコードを返すことです。私のクエリは次のようになります。

単独で、内部クエリは正常に実行され、基準を超える価格帯を持つ製品の ID のリストを返します。IN 句で ID の単純なリストを指定すると、外側のクエリも正常に機能します。ただし、それらを一緒に実行すると、クエリは〜1500行を返すのに〜3分かかるため、外側の行ごとに内側のクエリを実行していると思いますが、これは理想的ではありません. 内側と外側のクエリで列に同じエイリアスを付けたので、上記のように内側と外側で異なるエイリアスを付ければ修正されると思いましたが、そうではありませんでした。

ここで何が起こっているかについてのアイデアはありますか?

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

sql-server - マルチSELECTSQLステートメント

私の最初のネストされたSELECTステートメントを書いて、誰かが私を助けてくれることを願っています。

テーブルからCompanyCodeとを取得する必要があります。ただし、必要なのは別のテーブルからのクエリに表示されるものだけです。行間の共通リンクは列になります(基本的に、ネストされたクエリで表示されるものと同じものを含む行からとを取得する必要があります)。AgentIdUniqueAgentIdtoUniqueAgentIdUniqueAgentIdCompanyCodeAgentIdUniqueAgentId

このクエリを書き出すと、非常に役立つメッセージが表示されます

')'の近くの構文が正しくありません

クエリ:

編集ご回答ありがとうございます。以下のすべてのクエリを使用すると、同じエラーメッセージが表示され続けます:無効なオブジェクト名'UniqueAgentIdToUniqueAgentId'。これは、SQL Management Studioが認識できるデータベース上の実際のテーブルであるため、私には奇妙です。

2番目の編集これは単にスペルミスであることが判明しました。新しいエラーは、「varchar値「3030111101」の変換がint列をオーバーフローしました」です。これが何を意味するのかよくわかりません...

最終編集charとitを比較しようとしたため、このエラーが発生しました。助けてくれてありがとう!