1. ホーム
  2. sql

[解決済み] 複数の条件で結合し、両方の条件のすべての組み合わせを返す方法

2022-03-04 11:24:52

質問

私はSQLの初心者なので、これは本当に簡単な答えであることに賭けてみたいです。

テーブル1には、列1(基準1)列2(基準2)列3(メトリック1)があります。

table 2 は、column 1 (基準 1) column 2 (基準 2) column 3 (table2.criteria2 に固有のメトリック 2) を持ちます。

テーブルの基準1に対して、基準2の値は1~5個まで可能です。

ここでjoinステートメントを使用すると、(この前にテーブル1をOneと特定したと仮定して)。

Select WeddingTable, TableSeat, TableSeatID, Name, Two.Meal
FROM table1 as One
inner join table2 as Two
on One.WeddingTable = Two.WeddingTable and One.TableSeat = Two.TableSeat

基準1/基準2の組み合わせが3つも4つもあることが分かっているのに、1つしか出てきません。 どうすればすべての組み合わせを得ることができますか?

結婚式で、テーブル1が基本的に席次表で、テーブル2が各テーブル/席が選択した食事のオプションであるという状況を考えてみましょう。テーブル 1 には、便利な TableSeatID がありますが、テーブル 2 には、同等の ID がありません。

サンプルデータです。

結果は、WeddingTable 001の3席すべてとWeddingTable 002の1席、計4行すべてを表示する必要があります。

希望する結果

解決方法は?

select one.*, two.meal
from table1 as one
left join table2 as two
on (one.weddingtable = two.weddingtable and one.tableseat = two.tableseat)