我有一个材料明细表文件,试图将其简化为唯一的零件以及该行的相关数据。我遇到的问题是零件号的多个实例,这是由于第三方从中提取数据的系统中零件名的格式或语言存在差异。 pn123零件名称 pn123零件名称 pn123零件名称 pn123德语名
我选择的所有其他字段是相等的,如何将where子句中的所有其他部件号限制为上述实例之一?文本字符串中是否有等效于MAX()的东西?
我正在通过删除重复项来解决excel中的问题。
select distinct
adhoc.ats_esh.Customs_Entry_Num
[VIN]as [Qlickview VIN]
,[Build_Date]
,[BOM_Level]
,[9802].[Supplier]
,[Part_number]
,[Part_Name] *******THIS IS THE PROBLEM FIELD*******
,[Unit_Price]
,[Usage]
,[Extended_Price]
from
adhoc.IMFM_9802_EU_AP [9802] inner join ADHOC.ATS_ESL
ON [9802].VIN = ADHOC.ATS_ESL.Part_Num
inner join adhoc.ATS_ESH
ON ADHOC.ATS_ESH.Trans_SK = ADHOC.ATS_ESL.Trans_SK
where
adhoc.ats_esh.importer ='ACME_CO'
and adhoc.ATS_ESH.ENTRY_SUMMARY_DATE >= '2/01/2018'
And adhoc.ATS_ESH.ENTRY_SUMMARY_DATE < '3/01/2018'
AND adhoc.ats_esl.Supplier in('supplier1','supplier2','supplier3')
--and adhoc.ats_esl.Part_Num like '%ABC%'
--and [BOM_Level] = '1' --**** use MAX()
答案 0 :(得分:0)
正确的方法是使用带有零件名称和编号的表格,其中零件编号是唯一键。这样,您可以加入Part_number并获得唯一的Part_name。如果您使用按零件号分组,也可以使用 Max(Part_name),但这将需要您对查询进行一些修改。