[英]SQL Server Query Error on WHERE
SQL Server 2005 via C# (VS 20015). SQL Server 2005通过C#(VS 20015)。 Any idea why
WHERE
won't work? 知道为什么
WHERE
不起作用吗?
SQL statement is: 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';
Tried: 尝试:
It works fine when omitting -> WHERE AA003Employee.Disabled = 'N'
省略 - >
WHERE AA003Employee.Disabled = 'N'
时工作正常
It throws the error when I try replacing it with -> "... WHERE Disabled = 'N'";
当我尝试用 - >“...
WHERE Disabled = 'N'";
替换它时,它会抛出错误WHERE Disabled = 'N'";
Here is a screenshot of the error: 以下是错误的屏幕截图:
Your problem is the placement of the WHERE
clause. 您的问题是
WHERE
子句的放置。 SQL cares about the order of the clauses in statements. SQL关心语句中子句的顺序。 But you should also learn to use table aliases:
但是你也应该学会使用表别名:
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;
See? 看到? The query is much easier to write and to read.
查询更容易编写和阅读。
Replace query with , 用,替换查询,
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
WHERE AA003Employee.Disabled = 'N'
ORDER BY AA001Person.LastName ASC, AA001Person.FirstName ASC, AA017JobTitle.JobTitle ASC
Replace Query with below SQL Statement 用以下SQL语句替换Query
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
WHERE AA003Employee.Disabled = 'N';
ORDER BY AA001Person.LastName ASC, AA001Person.FirstName ASC, AA017JobTitle.JobTitle ASC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.