如何在mssql中为每个UserID分配两个AccountID?

时间:2017-12-11 08:27:17

标签: sql-server tsql

我需要为每个UserID分配他们的AccountID。因此,DB中有两个表:用户和帐户。

用户表:

UserID    FirstName    LastName    
1         Adam         Barnes      
2         Mike         Radley      

帐户表:

AccountID    PaymentMethod
1            Card
2            Purse

结果应该是:

UserID    AcountID    PaymentMethod
1         1           Card
1         2           Purse
2         1           Card
2         2           Purse

1 个答案:

答案 0 :(得分:5)

使用交叉联接:

SELECT
    t1.UserID, t2.AccountID, t2.PaymentMethod
FROM Users t1
CROSS JOIN Accounts t2
ORDER BY
    t1.UserID, t2.AccountID;

您的预期结果意味着您希望将每个用户与每种类型的帐户相匹配。这是一个笛卡尔积,交叉连接是适合此类型的连接类型。