問題タブ [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.
sql - SQL結合またはネストされたクエリでエイリアスを使用することは常に良い習慣ですか?
常に使用するのがベストプラクティスですか -
それ以外の -
読みやすさとクエリの長さの短縮以外に、エイリアスを使用する利点は何ですか? データベースの専門家に相談したところ、エイリアスがないとクエリが壊れる可能性があると彼は言いました...完全には理解できません...誰かが考えを共有し、従うべきベストプラクティスは何ですか.. 。どうもありがとう。
mysql - ネストされたSQLクエリ
私は次のテーブルを持っています:
クラブ:Club_ID | タイトル| Created_Date | ..。
Club_Intesect:User_ID | Club_ID | アクセス
可変数のクラブを選択し、そのクラブで最もアクセス率の高いユーザーのIDに参加しようとしています。この人は所有者と見なされます。
したがって、クラブ100にそれぞれアクセス3、4、および5のメンバーA、B、Cがある場合、最後のクエリでクラブから選択する必要があります。
database - 請求書の合計に対して「SQL でサポートされていない翻訳」をスローするネストされたクエリを回避する設計
請求書の表があります。私のサービス レイヤーは 1 つの請求書の請求書を計算する方法を知っていますTotal
が、一連の請求書を でフィルター処理したい場合、Total
「SQL でサポートされている翻訳がありません」という理由で LINQ クエリは失敗します。これは、すべての請求書レコードに対してネストされたクエリを実行できないために発生します。それを回避する正しい方法は何ですか?
各請求書は、文字通り、割引を含むテーブルTotal
から計算された行の合計を合計することによって決定されます。InvoiceLines
私は、サービス層にすでにあるビジネス ロジックをデータベースに複製したくないと考えています。これには、請求書の合計に影響を与える品目の割引が含まれます。Total
しかし、直接フィルタリングできるデータベース列に請求書をキャッシュする以外に方法はありません。
請求書は不変であるため、データの整合性の問題が発生することはありませんが、データの複製は嫌いです。ビューを使用して請求書の合計を表示することもできますが、私のリポジトリはサービス層の機能を実行しています。
sql - mysql 4.0 との互換性のために、SQL のネストされたサブクエリを結合クエリに変換するのに役立ちます
ネストされた SQL クエリがあります。
私の Web サーバーは、ネストされたクエリを許可しない MySQL 4.0 を実行しています。JOIN 用語を使用して同じクエリを提案できる SQL の第一人者はいますか? 私は試してみました...しかし、私はこれを理解することはできません。ばかげた感じ。
sql - ネストされたSELECTを実行せずに結合内の最新の値を読み取る
ネストされたクエリをできるだけ多く削除するために、次のクエリを最適化しようとしています。
エラーが見つかった場合は申し訳ありません...このクエリを関連する部分だけに絞り込んでみましたが、プロセスのどこかで間違いを犯した可能性があります
つまり、基本的に、ここにあるのは、フォーラムの投稿の表と、それらの投稿に対するコメントの返信の表です。各フォーラムの投稿には、複数の返信を含めることができます。最初の結合は応答の総数をカウントするために使用され、2番目の結合は最新の応答の情報を取得するために使用されます。このクエリから返されるのは、次のようなものです。
したがって、私は基本的に、このネストされたクエリに頼ることなくこれを行う方法を理解しようとしています。あなたたちが提供できるどんな助けも非常に役に立ちます。
ありがとう!
編集latest_activity_time
:クエリを少し調整して、、だけでなく、もプルバックする必要があるという事実を反映しましたlatest_activity_user_id
。混乱させて申し訳ありません!
sql - 問題別SQLグループ
次のようなテーブルを持つデータベースにクエリを作成する必要があります。
と
履歴テーブルには、ユーザーによるアイテムのすべての操作の記録が含まれています。HISTORY テーブルからすべての項目を取得するクエリを作成する必要がありますが、それらは所有者の手にありません。したがって、各アイテムの最後のレコードを取得し、所有者以外の手に保持されているもののみを選択する必要があります。
ネストされたクエリを使用して記述しようとしましたが、そのようなサブクエリを使用している場合:
このレコードの ID を取得できません。したがって、ID の ID がわからないため、ネストされたクエリの結果をループできません。
私たちを手伝ってくれますか?
PSそして、group by句を使用したクエリから、group byステートメントにない列を取得する方法を教えてください。
mysql - 2 つの基準を持つテーブルから不要な行を削除する
多対多のリレーション テーブルがあり、不要な行を削除する必要があります。lastviews
テーブルの構造は次のとおりです。
このテーブルは、ドキュメントを最後に閲覧したユーザーを記録します。(ユーザー、ドキュメント) は一意です。ドキュメントの最後の 10 ビューのみを表示し、今までは次のように不要なものを削除しました。
ただし、ユーザーが最後に表示した 5 つのドキュメントも表示する必要があります。これは、必要な情報を削除する可能性があるため、前のクエリを使用して行を削除できなくなったことを意味します (ユーザーが 5 分間ドキュメントを表示せず、行が削除されたとします)。
要約すると、次の 2 つのクエリの結果に含まれていないすべてのレコードを削除する必要があります。
と
ロジックが必要です。
sql - tableB からグループ化された数値の tableA の合計から、Oracle の合計平均を上回る値を選択するにはどうすればよいですか?
次のようなデータがあります。
tableB の NUM の合計がすべての tableA ID の合計の平均を上回っている tableA ID を選択する必要があります。言い換えると:
37 > 35、45 > 35、25 < 35 であるため、SELECT は ID 1 と 2 のみを表示する必要があります。
これは正常に動作している私の現在のクエリです:
しかし、ネストされたすべての SELECT を使わずに、より良い方法があるかもしれないと感じています。おそらく2ですが、3は多すぎるように感じます。多分間違ってるけど。
たとえば、次のような単純なことができないのはなぜですか。
またはこれ:
sql - 最初のクエリ(2つの値を持つ)の出力を2番目のクエリへの入力として与えるにはどうすればよいですか?
最初のクエリの出力として2つの名前を取得します。例:paul、peterこれは、2番目のクエリの入力になります。これはpaulとpeterの電子メールIDを表示する必要があります。
mysql - ネストされたクエリから派生したテーブルを参照するMysql
昨日、これに似たものを投稿しましたが、今は私のクエリとは少し違うものをお願いします-
データベースにクエリを実行して、時間の経過とともに Web サイトにアクセスしたワンタイム ユーザーの数を取得しようとしています。データは次のようになります。
クエリの結果をこのようにしたい
結果は 2,1,0,1,2 です。これは、これらの日の終わりに、1 回訪問したユーザーが X 人いるためです。たとえば、5 日目の終わりに、ユーザー c と d はそれぞれ 1 回しかアクセスしていません。
次のようなクエリを探していると思います。
上記のクエリと私が探しているものとの違いは、この新しいクエリでは、各期間に 1 回限りのユーザーのみを考慮し、繰り返しユーザーを考慮したくないということです。
ありがとう