tsql join仅在存在的情况下

时间:2014-01-07 10:23:48

标签: sql-server tsql join

我在mssql中有这段代码:

SELECT [dbo].[ManagerUser].*,
       [names].[ManagerUserNames].[namesStyle]
        FROM [dbo].[ManagerUser]
    INNER JOIN [names].[ManagerUserNames]
    ON [names].[ManagerUserNames].[ManagerUserId] = (SELECT top 1 [Id] 
                                                    FROM [dbo].[ManagerUser] 
                                                    WHERE [Email]=@Email)
 AND GETUTCDATE() > [StartDate] AND (Getutcdate() < [EndDate] OR [EndDate] IS NULL)
WHERE [Email]=@Email AND [names].[ManagerUserNames].[Status] = 1

我想要的是从[dbo].[ManagerUser]获取WHERE [Email]=@Email的所有数据 但如果它存在,也可以从NamesStyle获得[names].[ManagerUserNames]

问题是如果用户没有名称样式状态,我就不会得到用户。

我希望仅在namesStyle为用户存在的情况下才能获得email

修改 的 可能没有NameStyle,考虑一下。这就是问题

由于

0 个答案:

没有答案