查询ACCESS SQL语句
问题1:查询除了供应商A和供应商B以外,所有物料的所有供应商最新采购价格记录(详见图示)现有SQL语句:SELECTb.物料,b.供应商,b.采购价格,b.采购时间FRO...
问题1:查询除了供应商A和供应商B以外,所有物料的所有供应商最新采购价格记录(详见图示)现有SQL语句:SELECT b.物料, b.供应商, b.采购价格, b.采购时间FROM (SELECT物料, 供应商, MAX(采购时间) AS 最新采购时间 FROM 原始表 GROUP BY 物料, 供应商) AS a LEFT JOIN 原始表 AS b ON (a. 最新采购时间=b. 采购时间) AND (a. 供应商=b. 供应商) AND (a. 物料=b. 物料)WHERE NOT (b. 物料IS NULL) AND b. 供应商<>"A" AND b. 供应商<>"B" ORDER BY b. 物料, b. 采购价格经个人初步测试,感觉上述语句应该正确,请帮我检查一下。问题2:查询除了供应商A和供应商B以外,所有物料的最新采购价格记录(详见图示)现有SQL语句:SELECT 物料,供应商, 采购价格, 采购时间FROM 原始表 AS T1WHERE NOT (物料 IS NULL) AND 采购时间=(SELECT MAX(采购时间) FROM 原始表 T2 WHERE T1.物料=T2.物料 GROUP BY 物料) AND 供应商<>"A" AND 供应商<>"B"经个人初步测试,上述语句查询结果会有记录缺失,但我不知道错在哪里,请告知。
展开
2个回答
展开全部
查询1:查询除了供应商A和供应商B以外,所有物料所有供应商最新采购价格记录:
select a.* from 原始表 as a,
(select 物料,供应商,max(采购时间) as 最新采购时间 from 原始表 where 供应商 not in ('A','B') group by 物料,供应商) as b
where a.物料=b.物料 and a.供应商=b.供应商 and a.采购时间=b.最新采购时间
结果:
查询2:查询除了供应商A和供应商B以外,所有物料的最新采购价格记录
select a.* from 原始表 as a,
(select 物料,max(采购时间) as 最新采购时间 from 原始表 where 供应商 not in ('A','B') group by 物料) as b
where a.物料=b.物料 and a.采购时间=b.最新采购时间
结果:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询