Microsoft Access SQL查询不存在的属性

时间:2014-02-11 20:17:03

标签: ms-access

我有下面的查询但是我不确定如何返回没有flag属性的值。我尝试了type.Property <> 'Flag',但即使有记录没有标记属性

,也不会返回结果
SELECT DISTINCT o.ea_guid as CLASSGUID, o.Object_Type as CLASSTYPE, o.name as Name
FROM ((t_object as o
       INNER JOIN t_objectproperties as location
         ON o.Object_ID = location.Object_ID)
       INNER JOIN t_objectproperties as type 
         ON o.Object_ID = type.Object_ID)
WHERE location.Property = 'Location' 
  AND location.Value = 'Queens'
  AND type.Property = 'Flag'
  ORDER BY o.name ASC

2 个答案:

答案 0 :(得分:2)

我不清楚你到底想要什么。这应该为您提供type.Property不是'Flag'的行,包括Null。

AND Nz(type.Property, '') <> 'Flag'

如果您要从Access应用程序会话外部运行查询,请使用IIf而不是Nz

AND IIf(type.Property Is Null, '', type.Property) <> 'Flag'

如果您只想要type.Property为空的那些行...

AND type.Property Is Null

答案 1 :(得分:1)

如果需要测试值为null,请使用type.Property IS NULL。 SQL中没有null的等式测试。