問題タブ [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.
sql-server - TSQL にこのクエリ構文の実装はありますか?
一部の SQL ダイアレクトでは、次のように述べることができます。
しかし、私が使用している TSQL (sql server 2k) でそれを行う方法がわかりません。
結合や連結された値を使用するなどの回避策を知っています (そして今のところ使用しています) が、TSQL にそれを行うために見落としている構文はありますか?
UPDATE : これは有効な SQL-99 構文です。そのため、パフォーマンスが向上したとしても、結合を回避策と見なします。私の質問はおそらく次のように言えます:
TSQL にこの構文の実装はありますか?
UPDATE2 : この構文を Mysql でテストしたところ、正常に動作しました。
sql - select ステートメントに count(*) を追加すると、サブクエリに行が強制的に存在するのはなぜですか?
Oracle 9i で、次の結果が「abc」になるのはなぜですか?
これは「abc xyz」を生成しますが:
サブクエリに count(*) を追加すると動作が異なるのはなぜですか? 述語where 1=2
は、サブクエリの結果を除外する必要がありますか?
mysql - MySqlの相関サブクエリ-最初に外部クエリを評価する方法は?
MySqlのサブクエリに問題があります。ユーザーグループを含むテーブルがあります。列はid、name、および各行を説明するコメント付きのプロパティです:(IdはINT、Name VARCHAR、その他すべてのTINYINT(1)(ブール値)
私の目標は、ユーザーグループのプロパティ(上記のログイン、投稿、管理)と、各プロパティを持つユーザーグループの数(それぞれ3、2、1)を一覧表示できるようにすることです。
このクエリは機能します(ただし、明らかに毎回ログイン列をカウントします)。
これは機能しません(num_usersは常に0です)
これはどちらでもありません(num_usersは常に0です)
これを機能させる方法はありますか?つまり、最初に外側のステートメントを評価するのですか?
-
助けてくれてありがとう!
/ビクター
sql - SQL で「リテラル」テーブルを定義できますか?
文字通り、一時テーブルを定義できる SQL サブクエリ構文はありますか?
たとえば、次のようなもの
これにより、2 つまたは 3 つのクエリを実行する必要がなくなります。一時テーブルを作成し、データをそこに入れ、それを結合で使用します。
私は MySQL を使用していますが、そのようなことができる他のデータベースに興味があります。
performance - Sqliteサブクエリ:1つの大きなクエリまたはforループで?
それをベンチマークするつもりでしたが、大変な作業なので、前にはっきりとした答えを見逃していないか確認したいと思います。
サブクエリを使用して各行の詳細を取得する巨大なクエリがあります。
次に、各行はListViewにプラグインされたListAdapterで使用されるため、別のループが各行を1つずつ取得してListItemにします。
何がより効率的だと思いますか:
- 最適化を行うためにSQLエンジンを頼りに、SQLの混乱の中でサブクエリを保持します。
- ListAdapterループでサブクエリを取得するので、ディスプレイに詳細を遅延ロードします。はるかに読みやすくなりますが、ヒットが多すぎるとプロセスが遅くなるのではないかと思います。
2つの重要なこと:
- サブクエリを取り除くために大きなSQLチャンクを書き直すことはできません。私はそれがより良いだろうと知っていますが、私はそうすることができませんでした。
- 私の知る限り、リストには1000を超えるアイテムは含まれず、デスクトップアプリであるため、同時実行性はありません。その場合、これはパフォーマンスを気にすることにも関係がありますか?そうでなければ、とにかくトラフィックの多いWebサイトの回答に興味があります。知っておくといいです...
sql-server - サブクエリを使用してグループ化するときの SQL Server 2005 エラー
SQL Server 2005 を使用して、サブクエリを含む case ステートメントに基づいてグループ化しようとしていますが、エラーが発生します (「各 GROUP BY 式には、少なくとも 1 つの列参照が含まれている必要があります。」)。私はそれを非常に簡単に回避できますが、誰かがエラーを説明できますか? #header.header への列参照があります。
[編集] (コメントに応じて) 相関サブクエリと非相関サブクエリに注意してください:
sql - SQL:選択的なサブクエリ
副選択を使用して結果セットに列を追加するSQLクエリ(MSSQLSERVER)があります。
上記のクエリは、少しナンセンスなテストセットアップからのものですが、私が思う例としては十分に機能します。私が実際に取り組んでいるクエリは、目前の問題から気をそらすだけの複雑なテーブルにまたがっています。
上記の例では、テーブル「people」の各レコードには、「wantsSportscar」、「wantsFamilycar」、「wantsBusinesscar」の3つの追加列もあります。ここで私がやりたいのは、peopleテーブルのそれぞれの「wants.....」フィールドが「true」に設定されている場合にのみ、追加の各列の副選択を行うことです。つまり、P.wantsSportscarがその特定の人物に対してtrueに設定されている場合にのみ、最初の副選択を実行したいと思います。2番目と3番目の副選択も同様に機能するはずです。
したがって、このクエリが機能する方法は、特定の人の名前と、その人が所有したい車のタイプに使用できるモデルの数を表示することです。私の最終結果セットには、常に1つのレコード、つまり1人の特定のユーザーのレコードしか含まれないことに注意してください。
特定の種類の車に興味がない場合は、その種類の列が最終結果セットに含まれないことが重要です。これが明確であることを確認するための例:
人物Aがスポーツカーとファミリーカーを希望する場合、結果には「名前」、「スポーツカー」、「ファミリーカー」の列が含まれます。
人物Bがビジネスカーを希望する場合、結果には「name」列と「businesscar」列が含まれます。
IF、CASE、およびEXISTSステートメントとさまざまな組み合わせを使用しようとしていますが、これまでのところ、構文的に正しい解決策を得ることができませんでした。これが可能かどうか誰かが知っていますか?クエリはストアドプロシージャに保存されることに注意してください。
sql - SQL の相関クエリに関するヘルプ
助けてください!!私は SQL プログラミングの初心者であり、すべてを独学で学んでいます。私はついに取り組むことができないように見える問題に遭遇しました。うまくいけば、誰かが助けてくれるでしょう。次のテーブルがあります。私がする必要があるのは、FROISEDI で RECDATE を使用し、WEI4CPP でその日付より前のすべての個別の日付 (I4C7DZ) をカウントすることです。以下のコードを使用しましたが、同じ CACLAIM 値を持つレコードが作成されるまでは機能しているようです。また、2 つのレコードの CACLAIM と DOI が同じであるため、コードが機能しない場合もあります。どういうわけか、FROISEDI の AGCLAIM を使用する必要がありますが、それをカウント テーブルに取り込む方法がわかりません。ああ、私は SAS を使用しているので、正確には SQL ではありませんが、非常に近いです。助けてくれてありがとう!
私が使用したコード:
sql-server - サブクエリの結果フィールドを親クエリに連結するにはどうすればよいですか?
DB:SQLServer2008。
私はこのような本当に(偽の)グルーヴィーなクエリを持っています:-
そして、これは私が取得しようとしているものです...
だから、使ってみました
AS[Text()] ... FOR XML PATH('')
ですが、これには奇妙なエンコード文字が含まれていました(例:キャリッジリターン)。...だから私はそれに100%満足していません。
また、COALESCEソリューションがあるかどうかを確認しようとしましたが、すべての試みが失敗しました。
だから-何か提案はありますか?