【发布时间】:2019-01-30 07:46:34
【问题描述】:
我正在构建一个查询,为用户显示下一个截止日期。日期数保持不变,但截止日期会发生变化,具体取决于有多少条记录有来自用户的评论。
SELECT tbl_Description.Sample,
tbl_Description.User,
Min(tbl_Data.TestDate) As DueDate
FROM tbl_Description
INNER
JOIN tbl_Data
ON tbl_Description.DescriptionID = tbl_Data.DateID
WHERE tbl_Data.Comment IS NULL
GROUP
BY tbl_Description.Sample,
tbl_Description.User;
但是,当来自tbl_Data 的每条记录都有注释时,查询会返回空记录。这可能会发生,因为如果每个记录都存在,WHERE 和 IS NULL 语句不会返回任何内容。最好,我仍然希望空记录在 [DueDate] 字段中显示一些内容,例如空白或“完成”注释。
tbl_Description
Sample User
1 Betty
tbl_Data (v1)
Date Comments
05/01/2018 Orange
05/08/2018 Orange-Brown
05/15/2018
05/22/2018
查询输出
Sample User DueDate
1 Betty 05/15/2018
tbl_Data (v2)
Date Comments
05/01/2018 Orange
05/08/2018 Orange-Brown
05/15/2018 Brown
05/22/2018 Brown-Black
查询输出(此时查询不返回任何内容)
Sample User DueDate
1 Betty Complete
任何帮助将不胜感激!
【问题讨论】:
-
能否请您发布一些示例数据并期望最终结果?
-
对不起!为原始帖子添加了一些上下文 - 希望对您有所帮助。
-
使用左连接来连接你的表。使用 NVL 将空的最小 TestDate 转换为您想要显示的任何内容。
-
不幸的是,
WHERE子句返回一个空集,所以NVL或NZ对SELECT语句没有影响 -
每个 DescriptionID 应该有一个记录...我只是懒得将它包含在表示例中,但是示例 # 应该具有相同的目的
标签: sql ms-access vba ms-access-2010