你好我对这个查询有疑问,我的问题是在这个查询中我要打印每章的总数,但是我只有在描述发生变化时才这样做,我试着用图解释一下,怎么样如何在每个描述的末尾添加一个添加了1,2,3的字段:
Descrizione Totale TotaleCapitolo DescrizioneDis
descrizione di prova ------1---------- ---------------
-------2--------- ---------------
SUM(1,2,3) -------3--------- ---------------
descrizione di prova 2 ---------------- -----
QUERY:
SELECT
CASE WHEN ROW_NUMBER() OVER(PARTITION BY Capitolo.Descrizione order by Capitolo.Descrizione) = 1 THEN Capitolo.Descrizione ELSE '' END AS 'Descrizione',
SottoCapitolo.CostoUnitario as TotaleCapitolo,SottoCapitolo.Descrizione as DescrizioneDis, SottoCapitolo.Immagine, SottoCapitolo.DescrizioneEstesa, SottoCapitolo.Quantita, ROUND(((SottoCapitolo.CostoUnitario) + (((SottoCapitolo.CostoUnitario) / 100) * PercentualeMargine) + (((SottoCapitolo.CostoUnitario) / 100) * PercentualeUtile) + (((SottoCapitolo.CostoUnitario) / 100) * PercentualeSpeseGenerali)), 0) as CostoUnitario FROM Preventivo inner join Capitolo on Preventivo.IdPreventivo = Capitolo.IdPreventivo inner join SottoCapitolo on SottoCapitolo.IdCapitolo = Capitolo.IdCapitolo where Preventivo.IdPreventivo='7' order by Capitolo.Descrizione
QUERY RUN:
查询后
答案 0 :(得分:0)
我希望这可以帮助你进一步
<强>更新强>
DescrizioneDis在第三栏,Immagine在第四栏。
DECLARE @T AS TABLE (Descrizione VARCHAR(255), Totale DECIMAL(18,6), DescrizioneDis VARCHAR(255), Immagine VARCHAR(255))
INSERT INTO @T
VALUES
('descrizione di prova', 102.40, 'Tastiera ...', 'I:\So...'),
('descrizione di prova', 176.076, 'Echo 927 ...', 'I:\So...'),
('descrizione di prova', 32.03, 'CASS IP55 ...', '0'),
('descrizione di prova 2', 330.39, 'Accoppiatore ...', 'I:\So...')
SELECT CASE WHEN ROW_NUMBER() OVER(PARTITION BY a.Descrizione order by a.Descrizione) = 1 THEN a.Descrizione ELSE '' END AS Descrizione,
a.Totale, a.DescrizioneDis
FROM (
SELECT 1 AS d, ROW_NUMBER() OVER(PARTITION BY Descrizione order by Descrizione) AS r, Descrizione, Totale, DescrizioneDis, Immagine
FROM @T
UNION ALL
SELECT 2, 0, Descrizione, SUM(Totale), '', ''
FROM @T
GROUP BY Descrizione
) AS a
ORDER BY a.Descrizione, a.d
结果
+----------------------+-----------+---------------+---------+
|Descrizione |Totale |DescrizioneDis |Immagine |
+----------------------+-----------+---------------+---------+
|descrizione di prova |102.400000 |Tastiera ... |I:\So... |
| |176.076000 |Echo 927 ... |I:\So... |
| |32.030000 |CASS IP55 ... |0 |
| |310.506000 | | |
|descrizione di prova 2|330.390000 |Accoppiatore ..|I:\So... |
| |330.390000 | | |
+----------------------+-----------+---------------+---------+
如果这不是所需的输出,请进一步说明。