WHERE上的SQL Server查询错误

Ace*_*rya 2 c# sql sql-server

SQL Server 2005通过C#(VS 20015).知道为什么WHERE不起作用?

SQL语句是:

SELECT 
    AA003Employee.idEmployee, 
    AA001Person.LastName, AA001Person.FirstName, 
    AA017JobTitle.JobTitle, AA017JobTitle.Department, 
    AA003Employee.Disabled 
FROM 
    AA003Employee 
JOIN 
    AA001Person ON AA003Employee.idPerson = AA001Person.idPerson 
JOIN 
    AA017JobTitle ON AA003Employee.idJobTitle = AA017JobTitle.idJobTitle 
ORDER BY 
    AA001Person.LastName ASC, AA001Person.FirstName ASC, 
    AA017JobTitle.JobTitle ASC 
WHERE 
    AA003Employee.Disabled = 'N';
Run Code Online (Sandbox Code Playgroud)

尝试:

  1. 省略 - >时工作正常 WHERE AA003Employee.Disabled = 'N'

  2. 当我尝试用 - >"...替换它时,它会抛出错误 WHERE Disabled = 'N'";

以下是错误的屏幕截图:

截图

Gor*_*off 6

您的问题是该WHERE条款的放置.SQL关心语句中子句的顺序.但是你也应该学会使用表别名:

SELECT e.idEmployee, p.LastName, p.FirstName, jt.JobTitle, jt.Department, e.Disabled
FROM AA003Employee e JOIN
     AA001Person p
     ON e.idPerson = p.idPerson JOIN
     AA017JobTitle jt
     ON e.idJobTitle = jt.idJobTitle
WHERE e.Disabled = 'N'
ORDER BY p.LastName ASC, p.FirstName ASC, jt.JobTitle ASC;
Run Code Online (Sandbox Code Playgroud)

看到?查询更容易编写和阅读.