問題タブ [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.
sql-server - 複数店舗番号の完全外部結合
各店舗番号、今日の売上と昨年の売上を示す SQL Server クエリがあります。2 つの異なるテーブルから。
ここで、店舗名を示す別のテーブルを追加したいと思います。どうやってやるの?
店舗名は、[Company$Store]
「名前」という名前のテーブルとフィールドにあります。参加してほしい[Company$Store].No_ = [Company$Trans_ Sales Entry].[Store No_]
これは私が追加したいクエリです:
誰かが助けてくれることを願っています!
tsql - rec で完全な外部結合を使用するときにパーセンテージの違いを見つける方法
いずれかの結果セットから脱落した可能性があるため、現在の値と以前の値の両方を null にすることができる、完全な外部結合で返されたデータからパーセンテージの差を取得する反復的な方法を見つけたいと思います。
以前の値を考慮しても、通常の計算では問題ありません....
ただし、これでは現在の値をゼロにすることはできず、ゼロ除算エラーが発生します。私がこれまでに考えた唯一の比較的安全な回避策は、isnull 値を 1 に設定し、金額が現在と一致して 100 に設定されていることを確認することですが、長期的には信頼できないと思います。誰かがより良い製品を持っていますか?
sql - SQL Server : FULL OUTER JOIN の異常な動作
私は2つのテーブルを持っています。FULL OUTER JOIN
テーブルの1つからいくつかのデータを除外しながら、両方のテーブルからレコードを取得したいと考えています。
- 14026 - 共通レコードの総数。
- 8428 - テーブル 1 の一意のレコード
- 1512 - テーブル 2 の一意のレコード。
取得する必要がある合計レコード数は 23966 です。ただし、次のクエリは異なる結果を返します。
クエリ 1 -
出力 - 23966 行 (予想)。
クエリ 2 -
出力 - 48804 行。
クエリ 3 -
出力 - 21830。
私の理解によると、少なくとも 3 番目のクエリでもクエリ 1 と同じ結果が得られるはずです。SQL Server がこれら 3 つのクエリをどのように処理しているか説明してもらえますか?
sql - Oracle データベースの複雑な n:m 関係から結果セットを取得
n:m 関係で相互に関連付けられている 3 つのテーブルから完全な結果セットを作成する SQL クエリ (完全外部結合を使用) を作成しようとしています。
初期の状況は、 person 、 artifact 、および location の3 つのエンティティを持つ正規化されたデータ モデルです。各エンティティは、交差テーブルで表される an:m-relationship を介して他のすべてのエンティティに関連付けられています。
私の目標は、すべての人、成果物、場所を含む 3 つのテーブルすべてから結果セットを作成することです。
問題を解決するために、次のステートメントを試しました。
このクエリは構文的には正しいですが、結合が次々とテーブルを処理するため、古いコンテンツが返されます。結局のところ、すべての関係が結果セットに表示されるわけではありません。
完全で正しい結果セットを得るために上記の表を組み合わせる方法はありますか?
編集。以下にいくつかのサンプル レコードを示します (交差テーブルに固執します)。
もちろん、データはこの例よりもはるかに複雑になる可能性があります。以下のコメントで述べたように、循環関係もあるかもしれません。
結果セットがどのように見えるべきかわかりません。この組み合わせが可能かどうかさえわかりません。
どうもありがとうございました!
よろしく
mysql - SQL で 2 つのテーブルを結合し、結合インデックスごとに 1 行のみを取得する方法
次のような 3 つのテーブルがある場合:
表 B:
表 C:
2 つのテーブルを結合して次の結果を得るにはどうすればよいですか。
私が次のことをした場合:
私は以下を取得します:
sql-server-2005 - SQL Server: 完全外部結合、オンと場所の比較
私はこれを検索しましたが、答えが見つからないようです。この答えがそこにあると確信しているので、前もってお詫び申し上げますが、見つけられないようです。
SQL Server 2005 DB を使用していますが、numPlacements フィールドが詳細テーブルとロールアップ テーブルの両方にあるため、以下のクエリが正規化された DB を表していないことを認識しています。私はDBを作成しませんでした。
以下の SQL は、where 句が使用されている場合に期待される結果を示します。期待される結果は、いずれかのテーブルに一致する値がないか、2 つの値が一致しないすべての行です。
ただし、WHERE 句をコメントし、ON 句の最後の AND のコメントを外すと、予想される 120 の結果ではなく、20 万行を超える行が返されます。
理由についてのアイデアはありますか?
ypercube の提案に基づく以下の詳細:
TableA と TableB を作成しました。それらは次のようになります。
違いは、TableA には #5 がなく、TableB には #1 がなく、#3 には両方で異なる numPlacements があることに注意してください。
上記はまさに私が期待するものを生成します:
WHERE 句を追加してみましょう。
where を使用すると、予想される 3 つの行が得られます。
AND を追加してみましょう。
ここで、結合で上記の AND を使用して試してみると、行 #3 が得られると予想されます。代わりに、これを取得します: