問題タブ [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.
mysql - 完全外部結合 "with" テーブルが機能しない
sku、store、およびperiodをキーとする sales テーブルがあります。このことから、今年と昨年の両方の情報を含むレコードを返すクエリが必要です。
以下のクエリの背後にあるロジックは次のとおりです。
- 昨年の売上を計算する (with テーブル内)
- 今年の売上を本体で計算(WHERE節)
- 「LAST YEAR」テーブルをメイン テーブルに結合します。SKUとストアのみの入会(重複しないため、日付による入会はできません)
私の問題は、昨年の結果が全額ではないことです。私の結果は、LEFT JOIN を行っているかのように動作し、「LAST YEAR」テーブルからすべての結果を返すわけではありません。
追加の詳細:
- LEFT JOIN と FULL OUTER JOIN を実行すると、同じ結果が得られます。
- 「WITH」句を個別に実行すると、結果は正しい
- 明細書全体を実行すると、昨年の売上は全額ではありません
以下のコードは一部簡略化されています...構文についてはそれほど心配していませんが、ロジックについてはもっと心配しています。誰かがアイデアを持っている場合、または私の論理の潜在的な欠陥を知っている場合、私は完全に耳を傾けます! 前もって感謝します!
sql - 一致しないかどうかに関係なく、結合基準を入力する完全な外部結合を行う方法
完全外部結合を行っている 2 つのテーブルがあります。それらは変数「accsnnum」で結合され、両方が共有します。しかし、私は問題を抱えています。accsnnum は両方のセットに存在する場合にのみ出力されますが、accsnum でグループ化された変数のカウントを比較しているため、両方に存在するかどうかに関係なく出力する必要があります。
説明のために、次のような labtable があります (変数は 2 つしかありません)。
そして、次のような rslttable (変数は 2 つしかありません):
次のコードを使用して、これら 2 つを結合します。
これにより、次の表が生成されます。
2 つのテーブルが結合する場所の accsnum のみが出力されますが、「lb_count」と「rslt_count」のカウントが含まれていることに注意してください。両方にない場合でも、その変数の accsnum を出力するか、accsnum で結合する方法を考え出す必要がありますが、2 つのテーブルのそれぞれから accsum を出力する必要があります。基本的に、出力は次のようになります。
または、次のようなものでも問題ありません。
どんな助けでも大歓迎です。
編集:明確でない場合に備えて、SAS環境内でSQLコードを実行しています。しかし、それはコードにはほとんど関係がないはずです。再度、感謝します!
mysql - MySQL は、レコードが別のテーブルに存在するかどうかに基づいてブール値を選択します
こんにちは、ユーザーが選択できるエンティティのテーブルがあります。ユーザーのお気に入りのエンティティに関する情報を含む別のテーブルもあります。見る:
表Entity
:
表SavedEntity
:
結果を次のようにしたい:
boolean
私の質問は、すべてのエンティティを取得し、エンティティがユーザーのお気に入りであるかどうかの値である追加フィールドを追加するクエリを変更するにはどうすればよいですか?
a の使用 (またはエミュレート!) を見てきましたFULL JOIN
が、これは不必要に複雑に思えて、うまく機能させることができませんでした。CASE
キーワードを見てきましたが、やはりうまくいきませんでした。
この多対多のテーブル構造はかなり標準的だと思いますので、必要な情報を取得する標準的な方法があると確信しています.誰かが私が欠けているものを理解するのを手伝ってくれますか?
NB クエリに CodeIgniter とアクティブ レコードを使用していますが、バニラ SQL を回避できます。
mysql - mysql で 2 つのテーブルを結合する方法
次のようなテーブルがありincome
ます。
そして、expense
次のような表があります。
出力が次のようなクエリを書きたいと思います。
mysql - mysql複数のテーブルが過去7日間を選択
日付と数値を持ついくつかのレコードを含む 3 つのテーブルがあります (テーブルをマージすることはできません)。テーブルの情報を使用して棒グラフを作成したいと考えています。棒グラフは日ごとにグループ化されており、過去 7 日間を表示する必要があります。
以前は 2 つのテーブルがあり、次のクエリ スキームを使用していました。
(疑似コード)
しかし、2つ以上のテーブルでこれを行うにはどうすればよいですか? 過去 7 日間の日付を基準にして、毎回 7 レコードを取得する機会はありますか?
問題を指摘するには: ある日の最初のテーブルにレコードがない場合、その日の他のテーブルからレコードを取得できません。