复杂查询SQL
我目前正在处理一个sql查询,在这里我接收三行不同的数据,我真的需要一行中的数据复杂查询SQL,sql,sql-server,Sql,Sql Server,我目前正在处理一个sql查询,在这里我接收三行不同的数据,我真的需要一行中的数据 SELECT substring(D.F1056, patindex('%[^0]%',D.F1056), 10) as Shop_Number, REPLACE(CONVERT(VARCHAR(10), D.F254, 103), '/', '') AS Todays_Date, SDP_TAB.F03 as Rayon, [SDP_TAB].F04 as Famille, CASE WHEN D.F1034
SELECT
substring(D.F1056, patindex('%[^0]%',D.F1056), 10) as Shop_Number,
REPLACE(CONVERT(VARCHAR(10), D.F254, 103), '/', '') AS Todays_Date,
SDP_TAB.F03 as Rayon,
[SDP_TAB].F04 as Famille,
CASE
WHEN D.F1034=3 THEN SUM(D.F64)
ELSE 0
END as Qty_Sold ,
CASE
WHEN D.F1034=3 THEN convert(DOUBLE PRECISION, SUM(D.F65)*100) * 10
ELSE 0
END as chiffre_daffaire_Caisse,
0 as montant_remisse_caisse,
CASE
WHEN D.F1034=3011 THEN SUM(D.F64)
WHEN D.F1034=3012 THEN SUM(D.F64)
ELSE 0
END as Qty_retour,
CASE
WHEN D.F1034=3011 THEN SUM(D.F65)
WHEN D.F1034=3012 THEN SUM(D.F65)
ELSE 0
END as Montant_Retour,
0 as Quantity,
CASE
WHEN D.F1034=3102 THEN SUM(D.F64)
ELSE 0
END as ClientCount,
F1034
FROM
[dbo].[RPT_ITM_D] D
LEFT OUTER JOIN [dbo].[POS_TAB] ON (D.F01=POS_TAB.F01)
LEFT OUTER JOIN [dbo].SDP_TAB ON (POS_TAB.F04=SDP_TAB.F04)
where
D.F1034 IN (3,3012,3011,3102)
AND
D.F254 = convert(varchar, getdate(), 101)
group by D.F1056,D.F254,SDP_TAB.F03,SDP_TAB.F04,D.F1034
我的数据正在填充,如下所示
我有三行,因为我有几个字段F1034的条件
有没有办法获得如下所示的预期结果?试试这个。(对计算列使用max)
我认为你绝对需要告诉我们这三条记录如何变成一条记录的逻辑。看你的例子并不清楚,请考虑编辑你的标签。在你的问题中,我看不到任何c#,mysql或vb.net。@TimBiegeleisen:我想他想“平复”他的结果。也就是说,如果有一个0,它应该被忽略。另外,我想这些行也有某种
SUM
的作用……你能编辑你的帖子来澄清为什么选择这些值的规则吗?从最终图像中,您似乎希望删除重复的行,并且对于除一个值以外的所有值均为0的行,您只希望看到非零值,但对于F64
中的7
,情况如何?为什么显示的是这张图片而不是1
和2
?@Atlasmaybe:也许你应该看看这两张图片,看看蒂姆为什么会这样评论。
With resultData as (
—Put your original query here
)
Select Shop_Number, Todays_Date,rayon,famille
,max(Qty_Sold) Qty_Sold, max(chiffre_daffaire_Caisse) chiffre_daffaire_Caisse
,max(montant_remisse_caisse) montant_remisse_caisse,max(Qty_retour) Qty_retour,max(Montant_Retour) Montant_Retour
,max(Quantity)Quantity,max(ClientCount) ClientCount,max(F1034) F1034
From resultData
group by Shop_Number, Todays_Date,rayon,famille