【发布时间】:2015-07-16 15:50:35
【问题描述】:
我是 SQL 新手,我正在尝试重写此查询,以便它使用联接而不是联合
DECLARE @user VARCHAR(255) = 'jSmith'
DECLARE @dept VARCHAR(255) = 'produce'
SELECT DISTINCT A.*
FROM goals A
INNER JOIN managers B ON B.name = @user
WHERE @user IN (A.userName,A.managerUserName)
AND dept = @dept
AND yr = '2016'
UNION
SELECT DISTINCT A.*
FROM goals A
INNER JOIN managers C ON C.name = @user
INNER JOIN committedGoals B ON A.goalID = B.goalID
WHERE dept LIKE @dept + '%'
AND yr = '2016'
【问题讨论】:
-
为什么要将其更改为联接?
-
目标是将其存储在视图中,因为我目前正在将这个查询写入字符串。我想完成这样的事情:
SELECT * FROM myView WHERE @user IN (A.userName,A.managerUserName) AND dept = @dept AND yr = '2016'
标签: sql-server tsql join union