/ / TSQL共通の列を持たない3つのテーブルの結合-sql-server、tsql、join

TSQL誰も共通の列を持たない3つのテーブルに結合する - SQL Server、tsql、join

私は初心者なので、これはおそらく非常に簡単でしょう。

Excelからインポートした2つのテーブルがあり、スプレッドシートの電子メールアドレスに基づいて、既存の電子メールアドレスのテーブルを更新する必要がほとんどあります。

私の唯一の問題は、どのテーブルも列を共有していないため、共通の列に参加できないことです。

だから、Joinで、次のようなものを置くことができるかどうか疑問に思っています

FROM table a
INNER JOIN table b ON b.column "name" = a.column "nameplus" `

どんな助けもありがとう!

回答:

回答№1は1

一致する述語のない結合は、効果的に実装できます cross join:つまり、テーブルAのすべての行はテーブルBのすべての行と一致します。

を指定した場合 INNER JOIN その後、あなたが持っている必要があります ON 用語。何かに一致するか、一致しないかのいずれかです。 "t:あなたの例では、技術的な一致があるかもしれません。 b.column 本当に-おそらく完全に偶然-一致する a.column)それはビジネスに意味がありません。

あなたはどちらかを持っています

  • a CROSS JOIN:テーブルをリンクする方法はありませんが、結果はすべての可能な行の組み合わせです

または:

  • inner join 行の結合方法を指定する必要がある(または left/right outer join 一致度に関係なく、両側からのすべての行を含める場合)