【发布时间】:2021-02-05 16:40:58
【问题描述】:
我有这个查询,它根据一些条件选择一些字段:
SELECT [Qty].[plant_no]
,[Qty].[ord_no]
,[Qty].[form_no]
,[Qty].[form_var]
,[Qty].[form_part]
,[Qty].[res_no]
,isnull([RFORMPARTS].[cost_center],'_') as [RFORMPARTS_cost_center]
,[BARTICLES].[wght_net] AS [Unit_kg]
,CASE
WHEN [Qty].[qty_unit] IN ('KG','KG-C') THEN [Qty].[fb_qty]
WHEN [Qty].[qty_unit] = 'NR' THEN [Qty].[fb_qty]*[BARTICLES].[wght_net]
END AS [Qty_KG]
FROM [dbo].[E00_PRD_003] AS [Qty]
LEFT JOIN [dbo].[RFORMPARTS] as [RFORMPARTS] ON [RFORMPARTS].[form_no] = [Qty].[form_no] AND [RFORMPARTS].[form_var] = [Qty].[form_var] and [RFORMPARTS].[form_part] = [qty].form_part
LEFT JOIN [dbo].[BARTICLES] AS [BARTICLES] ON [BARTICLES].[art_no] = [Qty].[form_no]
WHERE CONVERT(VARCHAR(10),[Qty].[date_start],112) >= 20180101 AND [Qty].[in_out] = '02' AND LEFT([Qty].[res_no],2) <> 'SL'
我想获得每个 [Qty].[ord_no] 和 [Qty].[form_no] 的最大 Qty.form_part 并保留所有选定的字段。可以和group by一起做吗?如果是,我该怎么做?如果没有,还有其他方法吗?
【问题讨论】:
-
所以你想要所有的行,但你想将每个
ord_no和form_no对的form_part值替换为max?能否提供预期结果和样本数据?
标签: sql select group-by max where-clause