我需要获取报价的注释,该注释的每个项目的最小lineTotal(PrjCode)。如何获得以下查询我尝试过,但没有成功
select distinct a.PrjCode,b.LineTotal as 'Neg.rate',(case when min(b.LineTotal) = b.LineTotal then c.Comments end)
from OPRJ a
Left Join PQT1 b on b.Project = a.PrjCode
Inner Join OPQT c on c.DocEntry = b.DocEntry
Group by a.PrjCode,a.PrjName,b.LineTotal,c.Comments
having min(b.LineTotal) = b.LineTotal
Order by a.PrjCode
输出如下
预期输出如下
虽然使用了distinct
,但没有可用的示例数据,但您无需使用group by
,仅假设以下内容可能对您有用
select a.PrjCode,b.LineTotal as 'Neg.rate',
min(c.Comments )
from OPRJ a
Left Join PQT1 b on b.Project = a.PrjCode
Inner Join OPQT c on c.DocEntry = b.DocEntry
Group by a.PrjCode,a.PrjName,b.LineTotal
Order by a.PrjCode
尝试此查询
SELECT c.PrjCode, b.LineTotal AS 'Neg.rate', e.Comments FROM (
(SELECT a.PrjCode, MIN(b.LineTotal) AS LineTotal FROM OPRJ a
LEFT JOIN PQT1 b ON b.Project = a.PrjCode GROUP BY a.PrjCode)c
INNER JOIN PQT1 d ON d.Project = c.PrjCode AND d.LineTotal = c.LineTotal
INNER JOIN OPQT e ON e.DocEntry = d.DocEntry ORDER BY c.PrjCode)f;