从表A中获取一些列,从表B中获取一些列

时间:2018-01-30 11:44:23

标签: sql sql-server

我有两列我需要显示列[PR]中的所有记录和列[EM]中的一些列。以下SQL语句不会返回列[PR]中的所有记录。

SELECT 
    [PR].[WBS1], [EM].[FirstName], [EM].[LastName], [EM].[EMail]
FROM 
    [VisionDemo].[dbo].[PR] 
JOIN 
    [VisionDemo].[dbo].[EM] ON [VisionDemo].[dbo].[PR].[Principal] = [VisionDemo].[dbo].[EM].[Employee]  

我该怎么做?

2 个答案:

答案 0 :(得分:4)

使用LEFT JOIN:

SELECT [PR].[WBS1],[EM].[FirstName],[EM].[LastName], [EM].[EMail]
FROM [VisionDemo].[dbo].[PR] 
LEFT JOIN [VisionDemo].[dbo].[EM] 
ON [VisionDemo].[dbo].[PR].[Principal] = [VisionDemo].[dbo].[EM].[Employee]  

答案 1 :(得分:1)

使用LEFT JOIN。这是基本的东西,请查看常见问题解答

SELECT [PR].[WBS1],[EM].[FirstName],[EM].[LastName], [EM].[EMail]
FROM [VisionDemo].[dbo].[PR] 
LEFT JOIN [VisionDemo].[dbo].[EM] --Use a left join
ON [VisionDemo].[dbo].[PR].[Principal] = [VisionDemo].[dbo].[EM].[Employee]