Sql 如何选择第一个值和其他值之和

Sql 如何选择第一个值和其他值之和,sql,Sql,我有这个问题,但我需要调整它 SELECT STR_NAME , CNT_ITEM as 'Code', TI_NAME as 'Item' , UOM_CODE as UOM, sum(CNT_OPEN) as 'ActBeg', In column i dont need to SUM it i need to get here the value for the first of the selected date (in this ca

我有这个问题,但我需要调整它

SELECT
    STR_NAME ,
    CNT_ITEM as 'Code',
    TI_NAME as 'Item' ,
    UOM_CODE as UOM,

    sum(CNT_OPEN) as 'ActBeg',    In column i dont need to SUM it i need to get here the value for the first   of the selected date (in this case i need value for 2020-01-01) 
    sum(CNT_RCV )as 'Receiving',
    sum (CNT_TRIN) as 'TransIN',
    sum (ISNULL(CNT_DSD,0) + ISNULL(CNT_PROD,0)) AS 'PROD',
    sum(CNT_VOID ) as 'Void' ,
    sum (CNT_SOLD ) as 'Sales',
    sum (CNT_TROUT ) as 'TransOUT',
    Sum (CNT_CONS) AS 'BatchRMat',
    SUM (ISNULL(CNT_USAGE,0) + CNT_WASTE) as 'WASTE' ,
    sum (CNT_CLOSEC ) as 'TheoEnd' ,
    sum (CNT_CLOSE ) as 'ActEnd',
    sum ((ISNULL(CNT_OPEN,0) - ISNULL(CNT_OPENC,0)) + (ISNULL(CNT_CLOSE,0) - ISNULL(CNT_CLOSEC,0))) 
    AS 'VARIANCE',
    SUM ((ISNULL(CNT_OPEN,0) - ISNULL(CNT_OPENC,0)) + (ISNULL(CNT_CLOSE,0) - ISNULL(CNT_CLOSEC,0)) * 
   CNT_COST) as 'VCost',
    CNT_COST as 'Cost'
FROM
    CR_QC_COUNT LEFT JOIN
    CR_STORE ON STR_COMPANY = CNT_COMPANY AND STR_BRAND = CNT_BRAND AND STR_NO = CNT_STR_ID LEFT JOIN
    CR_QC_TRACK ON TI_COMPANY = CNT_COMPANY AND TI_BRAND = CNT_BRAND AND TI_ID = CNT_ITEM LEFT JOIN
    CR_QC_UOM ON UOM_COMPANY = CNT_COMPANY AND UOM_BRAND = CNT_BRAND AND UOM_ID = TI_PUOM
WHERE
     CNT_COMPANY = 1 AND CNT_BRAND = 1 AND CNT_DOB BETWEEN '2020-01-01' AND '2020-01-16' AND CNT_STR_ID IN (41)  and TI_NAME IS NOT NULL  and (CNT_SOLD !=0 or CNT_CONS!=0)
group by 
 STR_NAME,CNT_ITEM ,TI_NAME ,UOM_CODE,CNT_COST
order by 
 STR_NAME , CNT_ITEM

如果我正确理解了这个问题,您可能需要在下面的查询中包含相关子查询,以获得2020-01-01上的CNT_开放值-


因为你在这里没有提到任何alise,所以我只是试着猜一下这里的表名和列名。您可以根据自己的要求更改条件。

使其易于帮助您,简化问题-。首先在关系数据库中没有意义,除非您还指定了用于排序数据的内容。你的意思是“第一”还是“最低”?谢谢,我只需要指定时间段内的第一天的值。如果你愿意,我可以在团队或任何其他会议地点共享我的屏幕。你使用的是哪种产品?SQL只是一种查询语言,不是特定数据库产品的名称,您的查询是无效的标准SQL。请为您正在使用的数据库产品添加。
SELECT
    STR_NAME ,
    CNT_ITEM as 'Code',
    TI_NAME as 'Item' ,
    UOM_CODE as UOM,

    (SELECT CNT_OPEN
     FROM CR_QC_COUNT
     WHERE CNT_COMPANY = 1
     AND CNT_BRAND = 1 
     AND CNT_DOB = DATE '2020-01-01') as 'ActBeg',    --In column i dont need to SUM it i need to get here the value for the first   of the selected date (in this case i need value for 2020-01-01) 
    sum(CNT_RCV )as 'Receiving',
    sum (CNT_TRIN) as 'TransIN',
    sum (ISNULL(CNT_DSD,0) + ISNULL(CNT_PROD,0)) AS 'PROD',
    sum(CNT_VOID ) as 'Void' ,
    sum (CNT_SOLD ) as 'Sales',
    sum (CNT_TROUT ) as 'TransOUT',
    Sum (CNT_CONS) AS 'BatchRMat',
    SUM (ISNULL(CNT_USAGE,0) + CNT_WASTE) as 'WASTE' ,
    sum (CNT_CLOSEC ) as 'TheoEnd' ,
    sum (CNT_CLOSE ) as 'ActEnd',
    sum ((ISNULL(CNT_OPEN,0) - ISNULL(CNT_OPENC,0)) + (ISNULL(CNT_CLOSE,0) - ISNULL(CNT_CLOSEC,0))) 
    AS 'VARIANCE',
    SUM ((ISNULL(CNT_OPEN,0) - ISNULL(CNT_OPENC,0)) + (ISNULL(CNT_CLOSE,0) - ISNULL(CNT_CLOSEC,0)) * 
   CNT_COST) as 'VCost',
    CNT_COST as 'Cost'
FROM
    CR_QC_COUNT LEFT JOIN
    CR_STORE ON STR_COMPANY = CNT_COMPANY AND STR_BRAND = CNT_BRAND AND STR_NO = CNT_STR_ID LEFT JOIN
    CR_QC_TRACK ON TI_COMPANY = CNT_COMPANY AND TI_BRAND = CNT_BRAND AND TI_ID = CNT_ITEM LEFT JOIN
    CR_QC_UOM ON UOM_COMPANY = CNT_COMPANY AND UOM_BRAND = CNT_BRAND AND UOM_ID = TI_PUOM
WHERE
     CNT_COMPANY = 1 AND CNT_BRAND = 1 AND CNT_DOB BETWEEN '2020-01-01' AND '2020-01-16' AND CNT_STR_ID IN (41)  and TI_NAME IS NOT NULL  and (CNT_SOLD !=0 or CNT_CONS!=0)
group by 
 STR_NAME,CNT_ITEM ,TI_NAME ,UOM_CODE,CNT_COST
order by 
 STR_NAME , CNT_ITEM