問題タブ [sql-subselect]

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

sql-server - SQL Server CEのwhereステートメントで副選択する方法は?

ユーザーテーブルから最後のログインを取得するための次のselectステートメントがあります。これはsqliteで非常にうまく機能し、データベースを移植し、MicrosoftのCompactEditionを使用しています。

lastlogin列はですdatetime

これはうまくいかないようです、何が問題なのですか?副選択?または日時の比較について何か?それを正しく行う方法を教えてもらえますか?

chrsk

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

mysql - 「古い」行を見つける

次のようなテーブルを検討してください。

| | txn_id | アカウントID

トランザクションが account_id の最新 (最高の txn_id) ではないすべてのトランザクションのすべての txn_ids を取得する単一のクエリを実行したいと思います。

データベースは MySQL 5.1 であるため、サブセレクトに関するいくつかの制限がある可能性があります。

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

mysql - 副選択を使用してこのMySQLステートメントを作成するためのより良い方法

データベースに5つのテーブルがあります。メンバー、アイテム、コメント、投票、国。10個欲しいです。各項目のコメント数と投票数を取得したい。また、各アイテムを提出したメンバーとその出身国も欲しいです。

ここや他の場所に投稿した後、副選択を使用してカウントを取得し始めましたが、このクエリには10秒以上かかります!

私の質問は、これがこれを行う正しい方法であるかどうか、このステートメントを書くためのより良い方法があるかどうか、またはより良いまったく異なるアプローチがあるかどうかです。副選択を個別に実行して情報を集約する必要がありますか?

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

sql-server - SQL クエリは、プライマリ レコードと補助レコードを返す必要があります

これをできる限り説明させてください。これはSQL Serverに関するものです。

参加者ごとに 1 つのレコードを持つメイン テーブルと、参加者ごとに MOST 5 レコードを持つサブ テーブルがあります。

メイン テーブル内のすべてのレコードと、SELECT クエリの同じレコード内の参加者ごとのサブ テーブル レコードを返すことができる必要があります。

例:

基本的に行から列へのアイデア。

どうすればこれを行うことができますか? 私は完全に途方に暮れています

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

ruby-on-rails-3 - Rails 3 と Arel を使用してサブセレクト (スコープ) に参加するにはどうすればよいですか?

テーブルを select/group-by クエリ (同じテーブルを含む) に結合する必要があり、Arel を使用して実行したいと考えています。

私は自分自身である:phenotypeswhich areの表を持っています。その結果、表現型とオルソグループの関係は多対多になります。has_and_belongs_to_many :geneshas_and_belongs_to_many :orthogroups

特定の表現型に関連付けられたすべてのオルソグループを取得する 2 つのスコープ (オルソグループ上) があります。

したがって、実行Orthogroup.with_associated_gene_ids_for_phenotype(48291)すると、オルトグループ ID と、それらを表現型にリンクする遺伝子のテーブルが返されます。

そのようなものはすべて正常に機能します。

orthogroups.*問題は、遺伝子のリストが基本的に私の Orthogroup ActiveRecord モデルの追加フィールドのようになるように、残りを取得して 2 番目のスコープの結果に結合したいということです。

おおよそ、次のようなものです。

これで、そのクエリが機能するように見えます。しかし、これらの遺伝子を取得するために、Orthogroup テーブルを独自のスコープに直接結合する方法を見つけたいと思っています。

SQL を使用する方が簡単かもしれませんが、Arel を使用すると簡単な方法があるはずです。同様の質問をいくつか見つけましたが、答えがあるようには見えません。

私が見つけた最も近い解決策はこれです:

出力された SQL は、テーブル「orthogroups」を 2 つのコンテキストで使用しており、これが心配でした。ただし、結果のスポット チェックは、クエリが正しいことを示唆しています。

それでも、これは私が望んでいたエレガントなソリューションではありません。ぎこちなくこれを行うことは可能です"inner join (...)"か?

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

sql - SQL でサブセレクト クエリを使用するとサーバーのパフォーマンスが低下することを証明する方法

私の仕事の 1 つは、データベースを維持することです。通常、レポートを取得してそのベースで作業しているときに、パフォーマンスが低下するという問題が発生します。
ERP がデータベースに送信するクエリを見始めると、メイン クエリ内に完全に不必要なサブセレクト クエリが多数表示されます。
私は私たちが使用しているプログラムの作成者である開発者のメンバーではないので、私が彼らのコードや仕事を批判しても彼らはあまり好きではありません. 彼らが私のレビューを深刻な声明と見なしていないとしましょう。そこで、SQL の副選択についていくつか質問します。

副選択は、左外部結合よりも多くの時間を費やしていますか?
使用しないことをお勧めするブログ、記事、または副選択したものはありますか?
クエリで subselectesct を回避すると、そのクエリが高速になることをどのように証明できますか?

データベース サーバーは MSSQL2005 です

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

php - PHP のサブクエリ

2 つのテーブルを使用した簡単な例を示します。

そして、サブセレクトが常に同じであるループ内でサブセレクトを使用してクエリを実行する必要があるため、2 つのクエリに分割して、サブセレクトをループの外に配置したいと考えています。

私は説明する。何が機能しますが、最適化されません:

私がやりたいことですが、うまくいきません:

ありがとう!

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

sql - SELECTの代替..IN(..)

id(人の)、city(人が訪問した)、date(彼の訪問の)の3つの列を持つテーブルがあります。特定の日付の間にロサンゼルス市にいて、他の特定の日にニューヨーク市にもいたすべての人(ID)を選択する必要があります。

これが私が今実行しているクエリの例です:

私もできることはありますか?他に使用できるクエリはありますか?この選択は遅すぎます。

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

sql - SQLサブ選択、ゼロ以外のアイテムのみを表示

私は、会社が要求したSQLクエリの最終結果を取得するために質問をしています。私はついに私が最初に求められた最終結果を得ました、しかし彼らはもっと欲しがっています。

私の会社は、クエリに動きのある値(販売済み、購入済み、または調整済み)のみを表示するようにしたいと考えています。これを機能させる方法や、どこを見ればよいのかわかりません。

結果のスピネットは次のとおりです(フィットするようにヘッダーを短くしました)。

必要な結果は次のとおりです。

お気づきかもしれませんが、UPCとInvの値に関係なく、移動のあるアイテムのみを生成するクエリが必要です。

前もって感謝します

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

mysql - MySQLを使用してグループごとにユーザーをカウントするにはどうすればよいですか?

グループの表があります。

  • id-一意のID(主キー)
  • group-グループ名

ユーザーの表があります:

  • username-一意の文字列(主キー)
  • group_id-group.idへの外部キーリンク

この場合、ユーザーは1つのグループにのみ属します。では、MySQLで、グループとそのメンバーユーザーの数をリストするにはどうすればよいですか?

副選択とカウントを使用してみましたが、すべてのグループで同じカウントが表示されます。