問題タブ [union-all]

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 に答える
228 参照

mysql - 組合は結果を統合しています

次のようなクエリがあります。

2番目の選択の結果の一部は、最初の選択と同じで、3番目の選択と同じです。

問題は、重複した結果が自動的に削除されることですが、そのままにしておく必要があります。誰もがこれを達成する方法を知っていますか?

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

sql - OracleSQLでのSQLビューの結合

SQLを使用してビューに参加するにはどうすればよいですか?現在Oracleを使用していますか?

SQLビュー1

SQLビュー2

私が言っていることを理解できれば、断片化が正しいかどうかを確認するためにこれを行っています。ありがとう :))

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

mysql - ユニオンオールにインデックスを使用していないmysqlクエリ(Rows_sent:115 Rows_examined:1008)

12 個のテーブルの行を単純に「すべて結合」しようとしています。すべてのテーブルを組み合わせると、115 行になります。ただし、以下のクエリを実行すると、「explain」を使用すると次のようになり、「log-queries-not-using-indexes」に設定すると mysql-slow.log にエントリが記録されます。

すべての行を結合 (つまり、「結合」) するだけでよいのに、mysql が 1008 行を調べる方法に少し戸惑っています。ヒントや指針をいただければ幸いです。

クエリは次のとおりです。

どんな入力でも大歓迎です

PS: (念のため) すべての ID は primary,tiny_int(3), auto_increment 列です。IDだけで同じクエリも試しました(つまり、「select id from ....」ですが、違いはありませんでした:(

完全な説明出力:

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

sql - このクエリのパフォーマンスを向上させる

ユーザーログインのあるテーブルが3つあります。

sis_login=>管理者tb_rb_estrutura=>コーディネーターtb_usuario=>クライアント

次のように、これらすべてのユーザーをレベルで区切って統合するためのVIEWを作成しました。

したがって、異なるユーザーに対して最大3つのIDが繰り返される可能性があります。そのため、レベルで区切りました。このビューは、IDとレベルに応じて、ユーザー名を返すためのものです。登録ユーザーが約50万人いることを考えると、このビューの読み込みには約1秒かかります。時間がかかりすぎますが、自分のWebサイトのフォーラムで最新の投稿を返す必要がある場合は非常に小さくなります。

フォーラムのテーブルはユーザーIDとレベルを返し、このビューで名前を探します。18のフォーラムを登録しました。クエリを実行すると、フォーラムごとに1秒=18秒かかります。ああ、神様。このページは、誰かが私のWebサイトにアクセスするたびに読み込まれます。

これは私の質問です:

説明の使用:

NULL UNION RESULT ALL NULL NULL NULL
NULLNULL2派生tALLNULL NULL NULL NULL 3
3 UNION r ALL NULL NULL NULL NULL 3
NULL UNION RESULT ALL NULL NULL NULL NULL NULL

誰かが私を助けたり、提案をしたりできますか?

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

mysql - MSAccessユニオンクエリを使用した3つのテーブル/クエリのマージ

請求書の支払いを保存するためのMySQLデータベースを構築しました。私のオフィスの全員がMSAccessを持っているので、MS Accessを使用して、バックエンドのMySQLテーブルにリンクするフロントエンドデータベースレポートツールを構築しています。

MySQLテーブルを参照するAccessクエリをいくつか作成し、操作を行った後、3つのクエリ(同じテーブル構造)をマージして、レポートを作成できるクエリに戻したいと考えています。

私の調査(article1article2など)を通じて、Unionクエリが必要であることがわかりました。2つのテーブルをうまく結合できますが、3番目のテーブルを結合しようとすると、クエリが実行されません。私は各組み合わせ(1-2、1-3、2-3)でUnionクエリを個別にテストし、任意のペアが機能します。3番目のクエリを単一のユニオンに組み込むために何が間違っているのかを理解しようとしています。何か提案はありますか?

表1=A表2=B表3=C

;

*更新* 各クエリをスタンドアロンテーブルにエクスポートした後、3テーブルのUNION ALLクエリを実行し、それらをマージすることができました。したがって、問題は明らかに、3つのテーブルではなく、UNION3クエリに対する私の試みにあります。考え?

ありがとう!

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

sql - SQLのテーブルユニオンでテーブルタイプを返す

2つのテーブルの和集合があり、これらのテーブルには列タイプがありませんが、テーブル名(または同様のID)を返す必要があるため、コードでどのテーブルからのものかを知ることができます。Microsoft SQL Server2008R2を使用しています。

これが私の現在のSQLですが、まだタイプを返していません。

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

sql - 和集合なしで各行に対してx回選択します

次のようなユニオンセレクトクエリをもっと簡潔に書くことは可能ですか?

このステートメントは、Productsテーブルの各行に対して4つの行を選択します。変化するのは、列2とツリーの値を計算するために使用される式だけです。それほど醜いコードの重複なしに上記を書く方法がSQLにあるべきだと思います。関数のみがファーストクラスのオブジェクトであり、SQLでラムダ式が許可されている場合...

以下のリチャードのソリューションは完璧であり、提供された例では非常にうまく機能します。しかし、元の例では2つのタイプミスがあり、問題がやや難しくなっています。

大きな問題は、比較演算子が異なるケース式です。私の問題は、これらのケースを「きちんと」処理することが非常に難しいことです。たとえば、比較がp.Paydate = getdate()である3番目のケースがあった場合はどうなりますか?

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

sql-server - TSQL:データを変更せずにUNION ALLを使用して2つの値(money / int)を組み合わせるにはどうすればよいですか?

私は次のクエリを持っています:

各「cte」テーブルに対してselect*を個別に実行すると、必要な結果が得られます。
しかし、すべて一緒に実行すると、次のようなものが得られます。

テーブルに対して直接selectを実行する場合のように、値A/値Bのデータを10進値なしで表示したいと思います。このデータを正しく表示するには、2つのクエリを1つに組み合わせるにはどうすればよいですか?

Round(value、0)は何もしません。

データを収集しているsprocを変更することはできませんが、任意の方法で一時テーブルを作成できます。

ありがとう、

ジェイソン

ソリューション:

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

mysql - MySQL ユニオン、テーブルの優先度、偽の列

ほとんど無関係な 3 つのテーブルをクエリしようとしています。3 つすべての関係は 1 つの列 (電子メール アドレス フィールド) です。「ユニオンオール」を作成し、3つのテーブルすべてから電子メールを取得し、最後にグループ化して重複がないことを確認しました(ユニオンも試しました)。

私の問題は、すべて正常に動作することですが、最初のテーブルで各電子メール アドレスが 1、0、または NULL であるかどうかを知る必要があります。列を取得してから、「"" AS Col1」を他のテーブルに追加しようとしました (エラー 1222 を回避し、列を一致させます)。私はこれを行うことができますが、テーブル 1 のデータはテーブル 2 の「何も」によって上書きされ、テーブル 3 のデータは再び何もないことによって上書きされます。

クエリは次のとおりです。

「アクティブ」列を追加するまで機能します。その時点で、アクティブ列にあったものは何も上書きされません。保持する必要がある位置データを取得するため、そこに 3 番目のテーブルが必要です。最初のテーブルを最後に配置すると、「アクティブ」になりますが、場所の列は上書きされます。

私はMySQLのプロではありません(見てください!)ので、どんな助けでも大歓迎です。

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

sql - SQL Server で ORDER BY と UNION を組み合わせる

1 つの結果セットでテーブルの最初のレコードとテーブルの最後のレコードを取得するにはどうすればよいですか?

このクエリは失敗します

何か助けはありますか?