我有两个选择哪个我combinedto使其作为一个工作:结合两种选择
SELECT dbo.doss.dosno, dbo.doss.dosnm, SUM(dbo.kbpres.uur) AS somuur, SUM(dbo.kbpres.minuut) AS somminuut, CAST(SUM(dbo.kbpres.uur) + SUM(dbo.kbpres.minuut)
/60 AS VARCHAR(4)) + 'u ' + CAST(SUM(dbo.kbpres.minuut) % 60 AS VARCHAR(2)) + 'm' AS derivedColumn, SUM((dbo.kbpres.uur * 60 + dbo.kbpres.minuut)
* dbo.kbpres.prijs) AS TotalCost, dbo.doss.behdr, NULL AS FACKOSTEN
FROM dbo.kbpres INNER JOIN
dbo.doss ON dbo.kbpres.ino = dbo.doss.ino
WHERE (dbo.doss.dosno = '93690')
GROUP BY dbo.doss.dosno, dbo.doss.behdr, dbo.doss.dosnm
UNION
SELECT doss_1.dosno, doss_1.dosnm, NULL AS [somuur], NULL AS [somminuut], NULL AS [derivedColumn], NULL AS [TotalCost], doss_1.behdr, SUM(kbpres_1.prijs) AS FACKOSTEN
FROM dbo.kbpres AS kbpres_1 INNER JOIN
dbo.doss AS doss_1 ON kbpres_1.ino = doss_1.ino
WHERE (doss_1.dosno = '93690') AND (kbpres_1.soort = 'K')
GROUP BY doss_1.dosno, doss_1.dosnm, doss_1.behdr,kbpres_1.soort
Seperately它们会导致一排。所以现在我做了UNION,结果是两行。但是我怎样才能使这个结果在1行(1结果)?
你不能从你描述的。你为什么想把它做成一排?它是用于报告还是表单UI?将数据回收并在客户端进行一行。 – JonH
是的,我为某种报告。为了便于测试,我使用dosno ='3690',但在live中,所有dosno都以visual studio的形式返回到datagridview中,所以它应该在每个dosno的同一行中。那么我最好怎么做呢? –