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

mysql - 完全外部結合 "with" テーブルが機能しない

sku、store、およびperiodをキーとする sales テーブルがあります。このことから、今年昨年の両方の情報を含むレコードを返すクエリが必要です。

以下のクエリの背後にあるロジックは次のとおりです。

  1. 昨年の売上を計算する (with テーブル内)
  2. 今年の売上を本体で計算(WHERE節)
  3. 「LAST YEAR」テーブルをメイン テーブルに結合します。SKUとストアのみの入会(重複しないため、日付による入会はできません)

私の問題は、昨年の結果が全額ではないことです。私の結果は、LEFT JOIN を行っているかのように動作し、「LAST YEAR」テーブルからすべての結果を返すわけではありません。

追加の詳細:

  • LEFT JOIN と FULL OUTER JOIN を実行すると、同じ結果が得られます。
  • 「WITH」句を個別に実行すると、結果は正しい
  • 明細書全体を実行すると、昨年の売上は全額ではありません

以下のコードは一部簡略化されています...構文についてはそれほど心配していませんが、ロジックについてはもっと心配しています。誰かがアイデアを持っている場合、または私の論理の潜在的な欠陥を知っている場合、私は完全に耳を傾けます! 前もって感謝します!

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

sql - 一致しないかどうかに関係なく、結合基準を入力する完全な外部結合を行う方法

完全外部結合を行っている 2 つのテーブルがあります。それらは変数「accsnnum」で結合され、両方が共有します。しかし、私は問題を抱えています。accsnnum は両方のセットに存在する場合にのみ出力されますが、accsnum でグループ化された変数のカウントを比較しているため、両方に存在するかどうかに関係なく出力する必要があります。

説明のために、次のような labtable があります (変数は 2 つしかありません)。

そして、次のような rslttable (変数は 2 つしかありません):

次のコードを使用して、これら 2 つを結合します。

これにより、次の表が生成されます。

2 つのテーブルが結合する場所の accsnum のみが出力されますが、「lb_count」と「rslt_count」のカウントが含まれていることに注意してください。両方にない場合でも、その変数の accsnum を出力するか、accsnum で結合する方法を考え出す必要がありますが、2 つのテーブルのそれぞれから accsum を出力する必要があります。基本的に、出力は次のようになります。

または、次のようなものでも問題ありません。

どんな助けでも大歓迎です。

編集:明確でない場合に備えて、SAS環境内でSQLコードを実行しています。しかし、それはコードにはほとんど関係がないはずです。再度、感謝します!

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

mysql - MySQL は、レコードが別のテーブルに存在するかどうかに基づいてブール値を選択します

こんにちは、ユーザーが選択できるエンティティのテーブルがあります。ユーザーのお気に入りのエンティティに関する情報を含む別のテーブルもあります。見る:

Entity:

SavedEntity:

結果を次のようにしたい:

boolean私の質問は、すべてのエンティティを取得し、エンティティがユーザーのお気に入りであるかどうかの値である追加フィールドを追加するクエリを変更するにはどうすればよいですか?

a の使用 (またはエミュレート!) を見てきましたFULL JOINが、これは不必要に複雑に思えて、うまく機能させることができませんでした。CASEキーワードを見てきましたが、やはりうまくいきませんでした。

この多対多のテーブル構造はかなり標準的だと思いますので、必要な情報を取得する標準的な方法があると確信しています.誰かが私が欠けているものを理解するのを手伝ってくれますか?

NB クエリに CodeIgniter とアクティブ レコードを使用していますが、バニラ SQL を回避できます。

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

mysql - mysql で 2 つのテーブルを結合する方法

次のようなテーブルがありincomeます。

そして、expense次のような表があります。

出力が次のようなクエリを書きたいと思います。

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

mysql - mysql複数のテーブルが過去7日間を選択

日付と数値を持ついくつかのレコードを含む 3 つのテーブルがあります (テーブルをマージすることはできません)。テーブルの情報を使用して棒グラフを作成したいと考えています。棒グラフは日ごとにグループ化されており、過去 7 日間を表示する必要があります。

以前は 2 つのテーブルがあり、次のクエリ スキームを使用していました。

(疑似コード)

しかし、2つ以上のテーブルでこれを行うにはどうすればよいですか? 過去 7 日間の日付を基準にして、毎回 7 レコードを取得する機会はありますか?

問題を指摘するには: ある日の最初のテーブルにレコードがない場合、その日の他のテーブルからレコードを取得できません。