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

mysql - mysql の複数の列に基づいて行をグループ化する

私の問題を説明する最も簡単な方法は、おそらくテーブルと取得しようとしている結果を示すことです。最後に試行したクエリが一番下にあります (機能しません)

次のテーブルがあります(簡単にするために、一連の列を削除しました):

クライアント テーブル:

契約表:

セッション テーブル:

次のように、テーブルを結合し、すべての行を client_id と contract_id でグループ化する必要があります。

私の最近の試みは、テーブルで完全な外部結合を実行し、結果を client_id と contract_id でグループ化することでした。

さまざまなテーブルの列の数が異なるため (すべての列が必要なので、運が悪いため)、完全な外部結合の回避策は失敗し、「GROUP BY」はそれぞれの 1 行のみを返すように見えます (すべての行が必要なので、私にはうまくいきません。

この場合、パフォーマンスはまったく問題になりません。


Ronaldの回答に基づくSQLフィドル

それは私が必要とすることをするように見えます。回答を承認する前に、それを自分の生産テーブルに適応させ、見落としがないかどうかを確認します

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

sql - グループに完全参加

クエリでロジックの問題に直面しています。

と の 2 つのテーブルがありTable1ます。Table2Table1

  • value 合計される
  • Id によってグループ化される
  • Code 外部キーを保持Table2

そしてTable2

  • Code
  • Des コードのテキスト記述

私がやろうとしているのは、 group by Table1.Id、 full join onTable2.Codeですが、結果のグループごとに、クエリによって生成されたグループごとに Table2 のすべての行を表示したいと考えています。

サンプルコード:

結果:

必要な結果:

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

cognos - 完全外部結合により、Cognos でレコードをカウントするときにデカルト積が発生する

Cognos レポート スタジオの列「id」で 2 つのテーブル A と B で完全外部結合を実行しています。両方のテーブルには、id 列の複数のレコードがあります。私の要件は、各テーブルのレコード数を数えてグラフに表示する必要があることです。しかし、レコードを数えると、レコードが乗算され、デカルト積になります。

カウントを行うと、これが得られます。

テーブル A とテーブル B の合計レコード数をグラフで表示する必要があります。これは外積になるため、グラフの値は正しい結果を示していません.2番目のレコードでこのデカルト積を回避する方法を提案できますか? これが可能かどうか提案してください。

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

sql - SQL Server 2008R2 完全外部結合が機能しない

以下のクエリを実行しようとしています

しかし、最初のビューからの行のみを取得することにvw_dailyなり、列mrfeeddailyは NULL になります。完全な結合では、一致しないすべての行も返されませんか? 私は何が欠けていますか。

ビューとテーブルの間に共通のデータはありません。

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

sql - SQL: 2 つの階層にまたがる完全外部結合

出荷された部品と受領された部品の表があるとします。発送したものと受け取ったものを一致させ、共通の発送番号で結び付けたいです。

出荷表

レシート表

望ましい結果

したがって、完全な外部結合があり、すべての個別の出荷番号と、出荷と受入の両方のそれぞれの部品番号が表示されますが、それらが一致する場所で結合されます。部品番号が一致しなくても、コンプリケーションはまだ出荷番号に含まれています。

基本的に 2 つの結合条件があり、そのうちの 1 つは完全にオプションです。

解決策は非常に簡単だと確信していますが、ユニオンを使用しないとこれを行う方法がわかりません。

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

mysql - 映画データベースを使用したmysqlの完全外部結合

こんにちは、次のテーブルと列があります。

次の質問に答える必要があります。

「ジョン・トラボルタかユマ・サーマンのどちらかが出演していて、どちらも出演していない映画は?」

新しいテーブルを作成せずにこれを行う方法を理解できなかったので、2 つの新しいテーブルを作成しました。そして、交差する結果が得られない完全な外部結合を実行しようとしました。mysql では完全な外部結合を実行できないことがわかりましたが、右結合と結合した左結合を実行する必要がありました。これを試しましたが、望んでいた結果がまったく得られません。私は今しばらく立ち往生しています。誰かが私を正しい方向に向けることができますか?

これは私がこれまでに持っているものです。

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

sql - FULL OUTER JOIN および/または UNION を使用してテーブルを同様のフィールドと組み合わせる

多くの共通フィールドを持つ 2 つのテーブルのビューを作成しようとしています。 ここに画像の説明を入力

両方のテーブルに存在するフィールドは、新しいビューの 1 つのフィールドの下に存在する必要があります。ここでいくつかの投稿を見つけましたが、やりたいことを行うために使用することを提案したものを見失った別の投稿を見つけましたが、私はこれにまったく慣れておらず、答えは少し混乱していUNIONました。衝突しないすべてのフィールドを選択する必要があると思います。次に、テーブルに共通するすべてのフィールドを組み合わせたステートメントから残りを選択しますがFULL OUTER JOIN、どのように機能しますか?dataelongUNION ALLFULL OUTER JOIN

ビュー内の行数を各テーブルの行数の合計と同じに保つために必要だと思いますFULL OUTER JOINが、よくわかりません。

多分これは私の解決策ですか?CROSS JOINただし、 a will が同様のフィールドでどのように機能するかはわかりません。

これらを結合する方法に関心がある方のために、私は両方のテーブルから各行を取得して、それらを新しいビューに配置しようとしています。私の問題は重複したフィールド (c2、footnote1、footnote2 など) が原因です。それらを c2、footnote1、footnote2 のままにしたいのですが、生成されたエイリアスを受け取り続けます。c2 であるすべてのものは、それがどのシートからのものであっても、c2 です。

編集:以下の回答のおかげで、これが私が今書いているものであり、私が欲しいもののようです. ただし、フィールドの数が多いため、永遠にかかります。これを行うより良い方法はありますか?より自動化された何か?

Edit2:これは、将来誰かに役立つ場合に備えて、完全なクエリがどのように見えるかです。時間がかかったので、これを行うためのより自動的な方法があることを願っています。助けてくれたすべての人に感謝します!