Sql server 用子集连接超集表
我在MSSQL上。我有两张桌子。其中一个具有ID和行值: IDSql server 用子集连接超集表,sql-server,join,superset,Sql Server,Join,Superset,我在MSSQL上。我有两张桌子。其中一个具有ID和行值: ID 1 2 3 4 5 另一个表有ID和Amount ID、金额 3, 30 4, 40 5, 50 1, 0 2, 0 3, 30 4, 40 5, 50 我想要一个能给我以下信息的查询: ID、金额 3, 30 4, 40 5, 50 1, 0 2, 0 3, 30 4, 40 5, 50 关于我如何做到这一点有什么想法吗?谢谢 如果我正确理解了您的问题,那么假设表名为TableA和Tabl
1
2
3
4
5
另一个表有ID和Amount
ID、金额
3, 30
4, 40
5, 50
1, 0
2, 0
3, 30
4, 40
5, 50
我想要一个能给我以下信息的查询:
ID、金额
3, 30
4, 40
5, 50
1, 0
2, 0
3, 30
4, 40
5, 50
关于我如何做到这一点有什么想法吗?谢谢 如果我正确理解了您的问题,那么假设表名为TableA和TableB,您可以使用左外联接,如下所示:
SELECT A.ID, ISNULL(B.Amount, 0) Amount
FROM TableA A
LEFT OUTER JOIN TableB B
ON A.ID = B.ID
使用left-outer-join将返回第一个表(TableA)中的所有行,而ISNULL(B.Amount,0)函数将为返回的值为NULL的行(即TableA中没有与TableB中ID相同的对应行的行)返回0