0

我最近Deleted在我的表中添加了一个列,然后想添加一个额外的 where 子句,但现在我没有得到任何结果(它在我添加deleted列之前返回了结果)

SELECT 
    tblEquipment.*, tblUsers.* 
FROM 
    tblEquipment 
INNER JOIN 
    tblUsers ON tblEquipment.UserID = tblUsers.ID 
WHERE  
    (UPPER(tblUsers.Dept) = 'ASPIRE' OR UPPER(tblUsers.Dept) = 'DEVELOPMENT') 
    AND (AssetType = 'WORKSTATION' OR AssetType = 'LAPTOP') 
    AND (tblEquipment.Deleted != 1)  
ORDER BY 
    Username

谢谢你的帮助

4

2 回答 2

2

如果DeletedNULL每条记录,您的条件应该是:

AND (tblEquipment.Deleted != 1 OR tblEquipment.Deleted IS NULL)  
于 2013-05-08T16:32:02.837 回答
1

我假设你没有填充你的新列,所以每条记录都有 NULL 作为那里的值。根据您的 RDMS 评估 NULL 的方式,

tblEquipment.Deleted != 1

可能是罪魁祸首。

更新:

以下应该可以解决您的问题:

ISNULL(tblEquipment.Deleted,0) != 1
于 2013-05-08T16:29:56.793 回答