我需要为每个UserID分配他们的AccountID.因此,DB中有两个表:用户和帐户.
用户表:
UserID FirstName LastName
1 Adam Barnes
2 Mike Radley
Run Code Online (Sandbox Code Playgroud)
账户表:
AccountID PaymentMethod
1 Card
2 Purse
Run Code Online (Sandbox Code Playgroud)
结果应该是:
UserID AcountID PaymentMethod
1 1 Card
1 2 Purse
2 1 Card
2 2 Purse
Run Code Online (Sandbox Code Playgroud)
使用交叉联接:
SELECT
t1.UserID, t2.AccountID, t2.PaymentMethod
FROM Users t1
CROSS JOIN Accounts t2
ORDER BY
t1.UserID, t2.AccountID;
Run Code Online (Sandbox Code Playgroud)
您的预期结果意味着您希望将每个用户与每种类型的帐户相匹配.这是一个笛卡尔积,交叉连接是适合此类型的连接类型.