我需要从数据库(SQLServer)创建一个包含三个表(表1/2/3)中的记录的列表。 目标是,每个供应商的最新交付日期在ACCESS中列出。 e.g。
将成为
我能够创建完整的列表,但无法找到过滤掉最新的交付日期。到目前为止,这是我的代码:
Age
论坛中有一些提示,但我无法运行。 你有什么建议吗?非常感谢你提前。 - 埃里克
答案 0 :(得分:0)
您可以在SQL Server中实现此功能
SELECT
Supplier,Date
(
SELECT Supplier,Date,
ROW_NUMBER() OVER (PARTITION BY Supplier ORDER BY Date DESC) rn
FROM Table1
) t
WHERE t.rn = 1;
答案 1 :(得分:0)
在Access中,您可以使用:
stmt_frei_list = "SELECT MBS.Supplier, Max(V.Date) As NewestDate " & _
"FROM Table1 as MBS INNER JOIN Table2 as V ON MBS.PartID = V.PartID " & _
"INNER JOIN Table3 AS SZ ON SZ.Supplier = MBS.Supplier AND V.SupplierID = SZ.SupplierID " & _
"WHERE MBS.PartID = " & id & " " & _
"GROUP BY MBS.Supplier"
如果日期的 Null 值存在:
stmt_frei_list = "SELECT MBS.Supplier, Max(Nz(V.Date, Date())) As NewestDate " & _
没有 Nz :
stmt_frei_list = "SELECT MBS.Supplier, Max(IIf(V.Date Is Null, Date(), V.Date)) As NewestDate " & _