SQL与where子句连接
有两个表-一个包含员工详细信息,另一个包含订单详细信息 如何找到在特定日期未下订单的员工的姓名 我使用左外连接,我的代码如下SQL与where子句连接,sql,join,Sql,Join,有两个表-一个包含员工详细信息,另一个包含订单详细信息 如何找到在特定日期未下订单的员工的姓名 我使用左外连接,我的代码如下 SELECT emp.FirstName+' '+emp.LastName AS 'FullName', emp.employeeid FROM Employee emp INNER JOIN Orders oON emp.EmployeeID=o.EmployeeID WHERE o.OrderDate NOT IN (SELECT o.
SELECT
emp.FirstName+' '+emp.LastName AS 'FullName', emp.employeeid
FROM Employee emp
INNER JOIN Orders oON emp.EmployeeID=o.EmployeeID
WHERE
o.OrderDate NOT IN (SELECT o.OrderDate FROm Orders o WHERE o.OrderDate='4/4/1997')
GROUP BY
emp.FirstName+' '+emp.LastName, emp.employeeid
但问题是它会把名单上的所有人都带走。一种方法是使用“不存在”
SELECT FirstName + ' ' + LastName AS 'FullName',
employeeid
FROM Employee
where EmployeeID not in (select EmployeeID
from Orders
where OrderDate = '1997-04-04')
SELECT
emp.FirstName+' '+emp.LastName AS 'FullName', emp.employeeid
FROM Employee emp
where not exists
(select * from Orders o ON where emp.EmployeeID=o.EmployeeID
and o.OrderDate='4/4/1997'
)
试试这个。应该有用。和评论答案,因为我无法在我的本地测试它…u r great man非常感谢…你已经解决了一个大问题…上帝保佑你亲爱的…非常感谢如果这个答案帮助你解决了问题,你应该。这将表示您对那些花费自己的时间帮助您的人的感谢。fr help:选择emp.FirstName+''+emp.LastName作为'FullName',emp.emp中的emp.employeeid在emp.employeeid=o.employeeid和o.OrderDate='1997年4月4日',其中o.employeeid是emp.FirstName+''+emp.LastName的空组,emp.employeeid这是解决方案
SELECT emp.FirstName+' '+emp.LastName AS 'FullName', emp.employeeid
FROM Employee emp LEFT JOIN Orders o
ON emp.EmployeeID=o.EmployeeID And o.OrderDate='4/4/1997'
where o.EmployeeID is null
GROUP BY emp.FirstName+' '+emp.LastName, emp.employeeid