問題タブ [union]
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 - 異なる列セットを結合する T-SQL の FULL OUTER JOIN に相当する UNION はありますか?
私は次のことを達成しようとしています:
結果:
列と行の結合が返されます。これは、FULL OUTER JOIN に相当する UNION と考えることができます。
この質問に対する簡単な答えは次のとおりです。
ただし、これを動的 T-SQL と dbo.sp_executesql で行うのは難しく、多数の UNION が関係している場合、結果のクエリが長くなりすぎる可能性があります。
私が思いついた最善の解決策は、次のように、可能なすべての列を含む一時テーブルを作成し、各選択を一時テーブルに順番に挿入することでした。
ただし、これには列名が何であるかを事前に知っておく必要があります。私の特定のシナリオとこの質問では、列名が一致する場合、型も一致すると想定しています。実際、操作しようとしている列はすべて同じ型です。
これを行う簡単な方法はありますか?
ありがとう!
union - SQLサイズの比較
私はサイズをチェックするデータベースを持っています。なぜなら、クライアントは特定の量のスペースしか使用できないだけでなく、データベースに配置した特定の数の「ページ」しか持っていない可能性があるからです。
私は次のSQLクエリを持っています:
これにより、必要な情報を含むテーブルが返されます。ただし、各ユーザーがどれだけ使用しているかを示す3つの列を追加したいと思います。最初に私はこのように試しました:
これには、必要な2つの列を追加する必要があります。unionからすべてを除外すると、正常に機能し、Webhotelの最大サイズに関する情報がテーブルに追加されますが、別の列を追加しようとすると、「使用されたSELECTステートメントの列数が異なります」というエラーが表示されます。私はそれを回避するいくつかの他の方法を試しましたが、正しい結果を得る良い方法を理解できないようです。私はSQLにまったく慣れていません。これがばかげた質問である場合は、申し訳ありません。
sql - 2つのユニオンSQLサーバーテーブルで個別の値を取得する
ユニオンを使用して、2 つのテーブル間ですべての個別の値を取得しようとしています。
アイデアは、一意の columnA を含むすべての列の合計を取得できるように、columnA 列のすべての一意の値のカウントを繰り返しなしで取得することです。
これは私が試したものです(SQL Server Express 2008)
sql - 結合による結合を回避しますか?
私の問題は Oracle にありますが、おそらくデータベースに依存していません (?)。
次のテーブルがあります。
ああ
bb
**担当者*
列 p は、行を取得するテーブルを示します。実際には、aa と bb ははるかに異なり、p はテーブル名と一致しませんが、そこに到達する方法を提供します。この例は、私が問題を抱えている単純化したものです。実際には、aa と bb の 2 つ以上のテーブル (6 つ) があることに注意してください。これを返すクエリが必要です:
次の作品: (a)
(ロ)
しかし、述語のプッシュが可能なビューでクエリを使用したいと思います。
したがって、質問 1 は次のとおりです。次の場合、述語のプッシュが許可されますか。質問 2: (質問 1 で「はい」の場合でも) ユニオンを使用せずに結合を使用してこれを行う方法はありますか。質問 3: それとも単に、より良い方法ですか?
データを作成するスクリプト:
c# - C# でのカスタム ユニオンのプログラミング (多数のオブジェクト間の結合)
シナリオ
指定されたオブジェクトのリストからデータのテーブルを作成する必要があります。例では、Order オブジェクトのリスト/配列と、データ テーブルに何を含める必要があるかを詳細に示す文字列仕様があります (例: "ID;Date;Customer.ID;Customer.Name;Orderlines.Product.ID;Orderlines.Quantity;Orderlines.単価"。
注文クラス クラスには、注文行のリスト (詳細) が含まれ、注文行クラスには製品への参照などが含まれます。非常にオブジェクト指向の設計です。
オブジェクトのリストと文字列仕様を取得し、すべての結合を検索する汎用プロシージャを作成する必要があります。例: AddToDataTableWithJoins(DataTable テーブル、object[] オブジェクト、文字列仕様)。
配列に 2 つの注文があり、それぞれに 3 つの注文行がある場合、結果は 6 行のデータテーブルになります。
例えば
しかし、繰り返しになりますが、Order クラスには複数のリスト (詳細) が含まれる場合があり、リフレクションと単純な再帰に精通していても、これについては途方に暮れていることを認めなければなりません。
このアルゴリズムの作成方法に関するアドバイスは大歓迎です。
アイデア
仕様の各レベルに複数のリストが存在しないように、また別のブランチにはリストが存在しないように、制限を実装する必要があります。たとえば、Customer クラスが Order オブジェクトのリストを定義している場合、次の指定は許可されません"ID;Date;Customer.ID;Customer.Orders.ID;Orderlines.Product.ID"
。
次に、次のアプローチを使用する必要があると思います。
- 1 つ以上の 1 対多の関係を含むブランチを決定します。
- コレクション内のすべてのルート オブジェクト (Order オブジェクト) をトラバースします。
- ルート オブジェクトのすべてのプロパティについて、1 対多の関係に関係しないすべてのプロパティの値を配列に格納します。
- 再帰を使用して、配列をコピーする子コレクション内のすべてのオブジェクトをトラバースします。
- 最も外側の「ノード」に到達したら、DataTable に新しい行を追加します。
これらの点は現時点での考えなので修正されるかもしれませんが、私は何かに近いと思います.
ありがとう、ステファン
sql - TSQL:結合は2つの選択から生じます(手順?)
私には2つの手順があります-いくつかのサブセレクトとユニオンを持つ2つの巨大なセレクトのセットです。これらの手順の結果を結合する必要がありますが、それでも個別に存在する必要があります。
そんな感じ:
プロシージャを結合することは不可能であり、一時テーブルを使用できないことを読みました。
何か案が?
mysql - codeigniterのアクティブレコードパターンを使用したUNIONクエリ
PHP CodeIgniterフレームワークのアクティブレコードクエリ形式でUNIONクエリを実行するにはどうすればよいですか?
sql - 複数のテーブル間のSQLマッピング
これはSQL設計の質問です。まず、セットアップ。私は3つのテーブルを持っています:
- リンクされたサーバーに対するクエリに基づいて自動的に入力されるA。このテーブルのデータは変更できません。
- Bは、Asのコレクションの名前を含む、わずか12行程度です。
- AtoBは、Asが名前付きコレクションに編成され、両方の列に外部キーがあるマッピングテーブルです。
たとえば、Aには次のものが含まれます。
- キリン
- フクロウ
- 虎
そしてBには以下が含まれます:
- シアトル動物園
- サンノゼ動物園
また、AtoBには次のものが含まれています。
1,1(シアトルのキリン)
2,1(シアトルのフクロウ)
3,1(シアトルのタイガー)
2,2(サンノゼのフクロウ)
さて、問題:
これらのコレクションの一部に、Aにないアイテムを含めるように依頼されました。そこで、Aと同じID列とName列を持つテーブルCを作成し、データを入力します。前の例に従って、Cに次のものが含まれているとします。
- ドラゴン
問題は、CのアイテムをAtoBに含めるにはどうすればよいですか?シアトル動物園にドラゴンを含める必要がある場合はどうなりますか?
私の最初の本能は、素朴で、AとCの和集合を含むビューVを作成し、AtoBをVtoBに変更することでした。それが私の素朴さが報われたところです。ビューへの外部キーを作成することはできません。
1つまたは複数のAまたはCをBに関連付けるための標準的で正しい手段があると思います。
mysql - hostname =hostAを含むホスト名列を持つデータベース内のすべてのテーブルのリストを返すにはどうすればよいですか?
次を使用して、列'hostname'を含むすべてのテーブルを取得できます。
すべてのテーブルの名前を知っていれば、次のようなユニオンを使用できます。
しかし、外部スクリプトやストアドプロシージャを使用せずに、上記の2つの概念を組み合わせる方法がわかりません。
sql-server-2005 - SQLServer2005のユニオン
以下は私の質問です
上記のクエリ結果から個別のVehicleIdを選択する方法...