問題タブ [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 投票する
16 に答える
148410 参照

c# - LINQ - 完全外部結合

人々の ID と名のリストと、人々の ID と姓のリストがあります。ファーストネームを持っていない人もいれば、姓を持っていない人もいます。2 つのリストを完全に外部結合したいと考えています。

したがって、次のリスト:

生成する必要があります:

私は LINQ を初めて使用するので (不自由な場合はご容赦ください)、「LINQ Outer Joins」の解決策をいくつか見つけましたが、これらはすべて非常に似ていますが、実際には左外部結合のようです。

これまでの私の試みは次のようになります。

しかし、これは次を返します:

私は何を間違っていますか?

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

sql - 複数のフィールドに基づく完全外部結合

これが私が直面している状況です:

2つのテーブルAとBがあります。レコードがテーブルAにあり、テーブルBにない場合は、テーブルBに追加する必要があります。レコードがテーブルBにあり、テーブルAにない場合は、テーブルBから削除する必要があります。 。ここでの秘訣は、2つのキーを組み合わせてユニークな組み合わせにすることです。

返される結果が次のようになるように、適切なタイプのクエリを取得しようとしています。

私がこれまでに持っているクエリは次のようになります。

#WS_Part_Tableと#WC_Part_Tableはどちらもクエリを使用して作成している一時テーブルですが、私のジレンマは、関心のある操作キーで#WC_Part_Tableクエリを事前にクエリする必要があることです多くの結果。

これは、#WC_Part_Tableを作成するために使用しているクエリです。

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

mysql - このクエリで完全外部結合をエミュレートする方法は?

したがって、明らかに mySQL は完全外部結合をサポートしていませんが、それは私が本当に必要としているものです。ユニオンでエミュレートすることに関するブログ投稿や記事をたくさん見てきましたが、重複は削除されます。誰か助けてくれませんか?

完全な外部結合を含むクエリを次に示します (ここで実行される多数の結合のうちの 1 つだけ)。それをmySQLが理解できるものにどのように変換しますか?

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

sql-server - スリーウェイフルアウタージョイン/テーブル合体

FULL OUTER JOIN3つのテーブルで、共通の行をマージして実行したいと思います。

id列に基づいてテーブルをマージしたい。

これにより、他の列の値が異なる場合に競合をどのように解決するかという問題が発生します。UsernamesとFullNameの間の競合を解決するために適用できるアルゴリズムは次のとおりです。

私は次の線に沿って何かを試しました:

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

sql - パフォーマンスの比較: 完全外部結合とユニオン、すべてのユニオン

次の名前のテーブルがあります。

上記のテーブル間の関係は明らかです。sale と saleDetails は SaleID を介して関連付けられ、Target と TargetDetail は TargetID を介して関連付けられます。表示したいのは全期間の従業員の売上と目標です。売上がない期間もあれば、目標が達成されない期間もあります。

それを行う私の計画 (これまでのところ) は、1 つのサブクエリで sales と saleDetail の内部結合を取得し、別のサブクエリで target と targetDetail を取得し、両方のサブクエリで完全な外部結合を実行して、必要なデータを取得することです。しかし、結果は非常に遅いです。パフォーマンスを高速化するために私ができること。完全外部結合とユニオンオールのパフォーマンス比較のためにグーグルで検索しましたが、運がありませんでした。現時点では、Union/Union All を使用して目的の結果を達成できるかどうかはわかりません。

編集

これは私がこれまでに持っているクエリです。テーブルも編集

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

sql - Oracle 外部結合「エンティティ」

クエリ内で外部結合から作成された「結合エンティティ」をどのように参照できますか? 具体的には、「??」をどのように置き換えることができますか? 以下のクエリで:

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

sql - ややINNERなFULL OUTER JOIN

ここに私が直面している問題があります:

  • クライアントから期待される X を受け取る
  • 私は、会社の代理店から実現された X を受け取ります
  • 同じジョブファイルに属している限り、コードの等価性について期待された X と実現された X を完全に外部結合する必要があります。

例えば ​​:

期待される結果 :

もちろん、123 の実現されたBは、同じジョブ ファイルに属していないため、456 の期待されるBと一致することはありません。

つまり、コードの完全な外部結合とジョブ ファイル ID の内部結合を同時に実行したいということです。

それは奇妙に思えますが... 実際、非常に論理的です。いったいどうやってそんなことができるの???

貴重なご協力ありがとうございました。:-)

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

sql-server - ある条件での完全外部結合、別の条件での内部結合

ヘッダー行と詳細行を 1 つの結果セットに結合する必要があります。

(サンプル DDL 以降inserts):

注文:

注文の詳細:

私は彼らが参加しOrderIDたいCurrencyID:

サンプル スクリプト

目的の出力を生成できるRIGHT OUTER JOINFULL OUTER JOIN、の組み合わせが見つかりません。COALESCE


アップデート:

テーブルからのOrderDetails一致が含まれていない可能性もあります。CurrencyIDOrders

注文:

注文の詳細:

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

sql - 完全外部結合での 2 つの個別の列での日付による並べ替え

完全外部結合を使用して 2 つの列のデータを並べていますが、2 つの別々の日付列が含まれているため、並べ替えが困難です。

表 1 には、製品の売上ランキング データがあります。表 2 には、同じ製品の実際の販売データがあります。

各テーブルには、他のテーブルにない日付のエントリがある場合があります。

したがって、完全に結合した後を想像すると、次の単純化された例のようになります。

このデータを取得するために使用しているクエリは次のとおりです。

製品が複数のリストに表示される可能性があるため、それも考慮する必要があるため、もう少し複雑ですが、必要なデータが返されます。もちろん、誰かが持っている場合は、それを改善するための提案を受け付けています。

問題は、両方の日付列に少なくともいくつかの NULL が含まれている可能性がある場合に、これを適切に並べ替えるにはどうすればよいかということです。両方の列が 1 つの NULL の場合、現在の順序付け方法は機能しません。

ありがとう。

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

mysql - 完全な外部結合クエリで日付による行のフィルタリング -> 一部の結果が欠落している

バックグラウンド

MySQL には、さまざまな種類のフィードバック項目を含む 2 つのテーブルがあります。これらのテーブルを組み合わせてFULL OUTER JOIN(実際には、MySQL では 2 つの結合とユニオンとして記述されています)、平均成績を数えるクエリを作成しました。このクエリは完全に機能するようです:

(これは読みやすくするためにいくらか単純化されていますが、ここでは違いはありません)

問題

次に、日付によるフィルタリングを追加してみました (つまり、特定の日付以降に作成されたフィードバック項目のみが考慮されます)。私のSQLスキルと私が行った調査により、私はこれを思いつくことができました:

これはほとんど機能します。得られる結果はほぼ正しいように見えます。ただし、いくつかのフィードバック項目がありません。たとえば、1 か月前の日付を設定すると、データベース内の 21 人の異なる人のフィードバックを数えましたが、このクエリでは 19 人しか返されません。最悪のことは、欠落しているアイテムの間に類似点が見つからないように見えることです.

このクエリで何か間違っていますか? WHEREこの句は、の後に日付のフィルタリングを行うと思いますJOIN。理想的には、おそらく前に行うことになるでしょう。繰り返しますが、これが私の問題の原因であるかどうかはわかりません。また、このクエリを別の方法で記述する方法もわかりません。