Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 没有返回结果的Access查询_Sql_Ms Access - Fatal编程技术网

Sql 没有返回结果的Access查询

Sql 没有返回结果的Access查询,sql,ms-access,Sql,Ms Access,我在Access中有一个查询,想知道当没有返回行时,是否可以使用where not exists子句为每个字段显示特定的文本 查询示例: Select Field1, Field2, Field3 From TableA Where Field1 = "test"; 如果没有返回结果,我希望返回以下内容: Field1 = "test" Field2 = "not provided" Field2 = "not provided" 做你要做的事情的通常方式是: Selec

我在Access中有一个查询,想知道当没有返回行时,是否可以使用
where not exists
子句为每个字段显示特定的文本

查询示例:

Select Field1, Field2, Field3  
From TableA  
Where Field1 = "test";
如果没有返回结果,我希望返回以下内容:

Field1 = "test"  
Field2 = "not provided"  
Field2 = "not provided"  

做你要做的事情的通常方式是:

Select Field1, isnull(Field2, 'Not Provided'), isnull(Field3, 'Not Provided')
编辑 哎呀,你在使用Access,在这种情况下,等效函数是“nz”(什么?!:p)


做你要做的事情的通常方式是:

Select Field1, isnull(Field2, 'Not Provided'), isnull(Field3, 'Not Provided')
编辑 哎呀,你在使用Access,在这种情况下,等效函数是“nz”(什么?!:p)

那么:

SELECT Field1, Field2
FROM Table
WHERE ID=3
UNION ALL SELECT DISTINCT "None","None" FROM AnyTableithAtLeastOneRow
WHERE 3 NOT IN (SELECT ID FROM Table)
那么:

SELECT Field1, Field2
FROM Table
WHERE ID=3
UNION ALL SELECT DISTINCT "None","None" FROM AnyTableithAtLeastOneRow
WHERE 3 NOT IN (SELECT ID FROM Table)

它甚至不是空的,没有返回行,是吗?出于好奇,有人在Access中尝试过这个吗?因为对我来说,根本不返回任何行。换句话说,当没有行时,Nz不起作用。如果表中没有任何行,它将不返回任何内容。如果数据中有空字段的行,它将返回这些错误值。它甚至不为空,不返回任何行,是吗?奇怪的是,有人在Access中尝试过吗?因为对我来说,根本不返回任何行。换句话说,当没有行时,Nz不起作用。如果表中没有任何行,它将不返回任何内容。如果数据中有空字段的行,它将返回这些错误值。如果表为空,这将不会返回任何行,不是吗?您可以使用任何表,包括保证不为空的系统表。我是否必须使用我希望的值创建表AnyTableItAtleastOneRow?@Rick否,它的意思正是它所说的,您可以使用始终确保至少有一行的任何表。如果合适的话,您可以使用主表(上面的表)。很难将其移植到访问,因为我在一个子报表上使用它,该子报表由ID字段(最初未声明)链接到父报表。如果表为空,这将不会返回任何行,不是吗?您可以使用任何表,包括系统表,保证不为空。我是否必须使用我希望的值创建表AnyTableItAtlastoneRow?Rick不,它的意思就是,您可以使用始终确保至少有一行的任何表。如果合适的话,您可以使用主表(上表)。很难将其移植到访问中,因为我在通过ID字段(最初未声明)链接到父报表的子报表上使用它。