2013-10-03 126 views
-1

布尔检查在一个MS Access 2010数据库,我有以下查询其完美的作品:空日期字段

SELECT TOP 1 ordersTable.startDate, ordersTable.endDate 
FROM ordersTable 
WHERE ordersTable.customerID=1 
ORDER BY ordersTable.startDate DESC; 

如何更改上面,使其输出一个简单的“YES”,如果结束日期是如果endDate不为空,为空还是“NO”?

这将从而报告给定客户是否有当前未结订单。我想我们使用Iif,但是我一直无法找到一个很好的语法示例。

回答

2

假设 “空” 是指空

SELECT TOP 1 ordersTable.startDate, ordersTable.endDate 
, IIF(ordersTable.endDate Is Null, "Yes", "No") As IsEmpty 
FROM ordersTable 
WHERE ordersTable.customerID=1 
ORDER BY ordersTable.startDate DESC; 
+0

+1试图帮助。但是,当我使用您的代码时,Access会在查询表达式中提供一个对话框,指出语法错误(缺少运算符):CASE WHEN ordersTable.endDate为空然后“是”否则“否”结束IsEmpty。你有什么建议吗? – CodeMed

+0

这个链接说CASE WHEN只能在VBA中使用:http://www.techonthenet.com/access/functions/advanced/case.php – CodeMed

+0

啊,那个古怪的非标准访问!尝试使用IIF编辑的版本我没有在本机上使用Access :-( – asantaballa