クエリで2つのテーブルから一部のデータを抜き出す場合。
こういう時は、リストにしてから抽出するのがお勧め。抽出の処理が軽いし、他の列は後からマージして展開すればいいだけだから。
テーブルA・テーブルBに、それぞれに「名称」列がある場合、そこから和集合(A・B両方ともすべて)・積集合(A・B両方にあるものだけ)・否定(Bを除くAのみ/Aを除くBのみ) を求めてみる。
この内、和集合に関してはテーブルを縦結合して重複を除くだけでいい。
和集合(A・Bともに)
結果 = Table.Distinct(テーブルA & テーブルB)
他は全てリストにしてから抽出→テーブルに再変換。
積集合(A・B両方にあるもの)
積集合 = Table.FromColumns(
{List.Intersect({テーブルA[名称], テーブルB[名称]})},
type table [名称=text]
)
Bを除くAのみ(Aだけにあるもの)
Aのみ = Table.FromColumns(
{List.RemoveItems(テーブルA[名称], テーブルB[名称])},
type table [名称=text]
)
Aを除くBのみ(Bだけにあるもの)
Bのみ = Table.FromColumns(
{List.RemoveItems(テーブルB[名称], テーブルA[名称])},
type table [名称=text]
)
重複がないなら「List.Difference」でもいいと思う。