enter image description hereI有三个Access表。我试图根据日期进行查询,但查询不返回任何值。
SELECT Sum(income2.mony) AS SumOfmony, Sum(outcome.mony) AS SumOfmony1, Sum(PT.PT_Paid) AS SumOfPT_Paid, Sum(PT.PT_Remain) AS SumOfPT_Remain, PT.PT_Date
FROM (PT INNER JOIN income2 ON PT.PT_Date = income2.dat) INNER JOIN outcome ON PT.PT_Date = outcome.[dat&time]
GROUP BY PT.PT_Date;
好像你想要子查询,而不是连接。 INNER JOIN
没有返回无与伦比的结果记录。
然后,还有一个问题:日期可以存储几分之一秒。比较相等的日期会导致Access出现问题(请参阅this的示例)
尝试使用这些子查询查询外部表:
SELECT Sum(income2.mony) FROM income2 WHERE DateDiff("s",PT.PT_Date, income2.dat) = 0
SELECT Sum(outcome.mony) FROM outcome WHERE DateDiff("s",PT.PT_Date, outcome.[dat&time]) = 0
实现:
SELECT
(SELECT Sum(income2.mony) FROM income2 WHERE DateDiff("s",PT.PT_Date, income2.dat) = 0) As SumOfmony,
(SELECT Sum(outcome.mony) FROM outcome WHERE DateDiff("s",PT.PT_Date, outcome.[dat&time]) = 0) AS SumOfmony1,
Sum(PT.PT_Paid) AS SumOfPT_Paid, Sum(PT.PT_Remain) AS SumOfPT_Remain, PT.PT_Dat
FROM PT
GROUP BY PT.PT_Date;