Sql 交叉表查询:从Access DB获取缺失数据的空数据
我有Access数据库中的数据,该数据库包含多天的数据。 但它有时会丢失某些日期的数据 在这个例子中,我有Sql 交叉表查询:从Access DB获取缺失数据的空数据,sql,excel,ms-access,crosstab,missing-data,Sql,Excel,Ms Access,Crosstab,Missing Data,我有Access数据库中的数据,该数据库包含多天的数据。 但它有时会丢失某些日期的数据 在这个例子中,我有 myDate Location Price 11/1/2013 South 10 11/1/2013 West 20 11/1/2013 East 10 11/2/2013 South 10 11/2/2013 West 2
myDate Location Price
11/1/2013 South 10
11/1/2013 West 20
11/1/2013 East 10
11/2/2013 South 10
11/2/2013 West 20
11/2/2013 East 10
11/4/2013 South 10 <---- 11/3/2013 Data Missing
11/4/2013 West 30
11/4/2013 East 10
我想当我从Access调用此数据时,我可以使用NZ函数,并且每当我发现空值时,我可以在Excel电子表格中输入#N/A错误,这样我就可以捕获丢失的数据并在以后进行填充
我将如何做到这一点?我这样做是正确的还是有更好的方法
任何帮助或提示都将不胜感激。以下是我的方法 不要在数据表中包含空日期。回到以前的方式,表中只包含有效数据 在表上创建交叉表查询。这不包括没有数据的日期。(来自您的示例:)
使用此新查询填充Excel文件。它将包括没有数据的日期的空行。谢谢您的回答。但有一个问题:我有多个查询,需要检查丢失的日期。然后,按照您的解决方案,我必须为每一个创建查询,对吗?有办法解决这个问题吗?如果他们是交叉表,很不幸是的。Access不允许在子查询中使用交叉表。这是没办法的。如果它们不是交叉表,您可以在同一查询中包含左连接。
myDate Location Price
11/1/2013 South 10
11/1/2013 West 20
11/1/2013 East 10
11/2/2013 South 10
11/2/2013 West 20
11/2/2013 East 10
11/3/2013 <---- Null values
11/4/2013 South 10
11/4/2013 West 30
11/4/2013 East 10
myDate South West East
11/1/2013 10 20 10
11/2/2013 10 20 10 <---- 11/3/2013 Data skipped
11/4/2013 10 30 10
myDate South West East
11/1/2013 10 20 10
11/2/2013 10 20 10
11/3/2013
11/4/2013 10 30 10
myDate South West East
11/1/2013 10 20 10
11/2/2013 10 20 10 <---- 11/3/2013 Data skipped
11/4/2013 10 30 10
SELECT tblCalendar.cdate, South, West, East
FROM tblCalendar
LEFT JOIN qryXtab
ON tblCalendar.cdate = qryXtab.myDate
ORDER BY tblCalendar.cdate