如何合并两个查询的结果? [英] How to combine the results of two queries?

查看:72
本文介绍了如何合并两个查询的结果?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个具有两个选择的过程,我想将这两个选择的结果合并为一个.

I created a procedure that has two selects, I want to join the result of these two selects in one.

这是我的程序

CREATE PROCEDURE spConsultarVendas
    @nomeUsuario nvarchar(60), 
    @dataEmissao datetime, 
    @dataSaida datetime 
AS
BEGIN
    SELECT
        NF.ID, NF.NaturezaOperacao, NF.DataEmissao, NF.ValorTotal
    FROM   
        NotaFiscal AS NF
    INNER JOIN
        Venda AS V ON NF.ID_Venda = V.ID
    INNER JOIN
        Usuario AS U ON V.ID_UsuarioComissao1 = U.ID
    WHERE
        U.Descricao = @nomeUsuario 
        AND (NF.DataEmissao >= @dataEmissao AND NF.DataSaida <= @dataSaida)

    SELECT
        SUM(NF.ValorTotal) AS FinalValue
    FROM
        NotaFiscal AS NF
    INNER JOIN
        Venda AS V ON Nf.ID_Venda = V.ID
    INNER JOIN
        Usuario AS U ON V.ID_UsuarioComissao1 = U.ID
    WHERE
        U.Descricao = @nomeUsuario 
        AND (NF.DataEmissao >= @dataEmissao AND NF.DataSaida <= @dataSaida)
END

这些是结果:

我想将这些结果合并为一个.

I want to combine these results into one.

推荐答案

您可以轻松地将最终结果添加到第一个查询的每一行:

You can add the final result easily to each row of the first query:

SELECT NF.ID, NF.NaturezaOperacao, NF.DataEmissao, NF.ValorTotal,
       SUM(NF.ValorTotal) OVER () AS ValorFinal
FROM NotaFiscal NF INNER JOIN
     Venda V
     ON NF.ID_Venda = V.ID INNER JOIN
     Usuario U
     ON V.ID_UsuarioComissao1 = U.ID
WHERE U.Descricao = @nomeUsuario AND
      (NF.DataEmissao >= @dataEmissao AND NF.DataSaida <= @dataSaida)

这篇关于如何合并两个查询的结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆