Мне кажется, я правильно понимаю.
ALTER PROCEDURE [dbo].[spRelacaoVendas]
@usuario nvarchar(60) = NULL,
@dataEmissao datetime,
@dataSaida datetime
AS
BEGIN
select
*
FROM
(SELECT NF.ID AS ID, NF.NaturezaOperacao AS Natureza, NF.DataEmissao AS Data, NF.ValorTotal AS ValorTotal
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 = @usuario) OR (@usuario IS NULL)) AND
(NF.DataEmissao >= @dataEmissao AND NF.DataSaida <= @dataSaida)) temp
END
По сути, я поместил первый выбор в круглые скобки, а затем присвоил ему псевдоним, что-то вроде виртуальной таблицы. Я сделал select *
, но вы можете выбрать любой из результатов из встроенного запроса.