問題タブ [full-outer-join]

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

sql - SQLでサブクエリの繰り返しを回避するにはどうすればよいですか?

目的Aの最小価格と目的Bの最大価格が必要です。さらに、アイテムをゾーンごとにグループ化します。

このクエリは私が望む出力を提供しますが、2つの理由でそれが好きではありません:

1)欲しい

一度だけ呼び出されます。

2)行が完全外部結合の右側のテーブルからのものである場合、ZONEnullを取得します。

どうすればこれらの問題を解決できますか。

クエリに他に問題がありますか?

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

sql-server-2008 - TSQLで、複数のユーザーデータセットをマージして、すべてのデータを含むユーザーごとに1行のデータセットを取得するにはどうすればよいですか?

(10の異なるシステムに)ユーザーデータのテーブルが10個あり、どのユーザーもそれらの10個のテーブルのうち0個以上にレコードを持つことができるとします。

結合クエリは、10個のテーブルすべてのデータをマージして、ユーザーごとに1行、10個のテーブルすべての列を持つ結果セットを生成するようになります。各ユーザーのレコードについて、そのユーザーのデータがないテーブルの列はnullになります。

私が遭遇している問題は、ユーザー名でテーブル1(t1)とテーブル2(t2)で完全結合を実行した後、t1.Usernameまたはt2.Usernameのいずれかがnullになる可能性がある結果セットが残ることです(たとえば、ユーザーがt1にのみレコードを持っていて、t2にはない場合、またはその逆の場合)。どちらのユーザー名もnullになる可能性があるため、「or」条件を含む複雑な「on」句を記述せずに、どのユーザー名フィールドをt3(および後続のテーブル)と結合する必要があります。

これをきれいに行う唯一の方法は、各結合後にユーザー名を結合し、後続の各テーブルを前の結果セットの結合されたユーザー名フィールドに結合することです。

私の最初の選択は次のようになります。

次に、t3をt3.Username=U2の結果セットに結合する必要があります。ただし、t4に参加する前に、t3.UsernameとU2を合体させてU3を取得する必要があるため、U3でt4.Usernameに参加することができます。そのためには、最初のselectステートメントが、追加のテーブルごとに新しい合体したユーザー名を選択するクエリ内のサブクエリである必要があるように思われます。クエリの最終的な形式は、必然的にネストされた一連のサブクエリのように見えます。それはどうあるべきか、それともこれを行う別の方法がありますか?

私がやりたくないのは、10個のテーブルすべてのユーザー名を結合することによって事前に生成した一意のユーザー名リストに対する一連の左結合です。それは機能し、非常にクリーンな単一レベルのクエリですが、これらの10個のテーブルのそれぞれの生成にはコストがかかるため、ここでの答えのように一意のユーザー名を取得するためだけにそれらを事前に生成したくありません:https: //stackoverflow.com/a/9233478/88409

私はここで別の議論も見ました:http ://www.listserv.uga.edu/cgi-bin/wa?A2 = ind1110b&L = sas-l&P = 1445これはそれがどのように行われるかについての4つの異なるバージョンを示しています(最初のものはサブクエリを回避します)が、where句で合体を使用し、テーブルが追加されるたびにサイズが大きくなります。

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

sql - PostgreSQLの2つの大きなテーブルの違いを見つける

Postgresには、32バイトのラテンフィールド(単純なmd5ハッシュ)が1つだけある2つの同様のテーブルがあります。両方のテーブルには最大30,000,000行があります。テーブルにはほとんど違いがありません(10〜1000行が異なります)

Postgresでこれらのテーブル間の違いを見つけることは可能ですか?結果は上記の10〜1000行になるはずです。

これは実際の作業ではありません。PostgreSQLがJOINのようなロジックをどのように処理するかについて知りたいだけです。

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

sql - 多くのテーブルのマージ

以下の 3 つの PostgreSQL テーブルが共通の ID 列とマージされるとします。

これら3つのテーブルを次のようにマージしたいと思います:

私はあなたの助けに感謝します!

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

tsql - 完全外部結合がすべての行を返さない?

複数の日付の複数のレコードを含むテーブルがあります。

「日付 1」と「日付 2」の違いを確認しようとしていますが、完全な外部結合が期待したデータを返しません。

日付 1 に 13278 行、日付 2 に 13282 行があることがわかっています。したがって、少なくとも 13282 行が表示されると予想されますが、13195 が返されます...これはINNER JOINテスト済みです。

次のような結果を期待しています。

しかし、これはどちらの側からもヌル行を取得しませんか?


これは機能します-結合の「キー」を2つの別々のselectステートメントで組み合わせますか?


しかし、これはそうではありません-結合された値を結合します-それらが別々のテーブルである場合のみですか?

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

sql - 複数のテーブルに対する複数の FULL OUTER JOIN

複数の外部結合があります

現在、最後の結合に問題があり、A の月が B よりも多い場合に繰り返されますが、B に A の月が多い場合、C に A の月との OUTER JOIN があり、これが繰り返されているため、完全な OUTER JOIN が含まれていると思います2つのテーブルが問題を解決するかもしれません?? 詳細なリンクはありますか??

サンプルデータ(誤り)

正しいデータ

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

symfony - クエリビルダーでsymfony2で完全外部結合を使用するにはどうすればよいですか?

queryBuilder関数による完全外部結合を使いたいです。左結合には、次のコードを使用しました。

しかし、完全外部結合を実行する方法がわかりません!

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

sql - 左外部結合、最終クエリに結果なし

次のクエリを実行しています

A から 1 つのレコードを取得していますが、B からはレコードを取得していません。最終選択クエリで 1 つのレコードを期待していますが、何も取得していません。

サンプルデータは次のとおりです。

B、データなし:

私は何を間違っていますか?どうすればこのようにできますか?