none
Dúvidas no select RRS feed

  • Pergunta

  • Olá,

    Preciso listar as ordens de serviço da tabela tbOrdemServico onde QTDEProduto de tbOrdemServico seja menor que QTDEBaixa de tbBaixaOrdemServico pra isso fiz o select abaixo:

    select tbCliente.Nome, tbOrdemServico.idOrdemServico, tbOrdemServico.DataEntrada
    from tbOrdemServico
    inner join tbCliente on tbOrdemServico.idCliente = tbCliente.idCliente
    left join tbBaixaOrdemServico on tbOrdemServico.idOrdemServico = tbBaixaOrdemServico.idOrdemServico
    where
       (month(tbOrdemServico.DataEntrada) = month(@nDataEntrada))
    and
       (year(tbOrdemServico.DataEntrada) = year(@nDataEntrada))
    and
       (tbOrdemServico.DataCancelamento is null)
    and
       (tbOrdemServico.idCliente = @idCliente)
    group by 
          tbCliente.Nome,
          tbOrdemServico.idOrdemServico,
          tbOrdemServico.DataEntrada,
          tbOrdemServico.QTDEProduto
    having sum(tbBaixaOrdemServico.QTDEBaixa) < tbOrdemServico.QTDEProduto

    só que quando rodo o sql, o resultado da consulta fica em branco por que na tabela tbBaixaOrdemServico, está vazio. Isto acontece quando uso o HAVING na tabela tbBaixaOrdemservico e ela está vazia.

    Obrigado.


    Gilberto


    segunda-feira, 3 de setembro de 2012 12:57

Respostas

  • Olá,

    No momento encontrei essa solução para o problema:

    if(select count(*) from tbBaixaOrdemServico) > 0
    begin
        select ...
    end

    se alguém tiver outra solução, agradeço.

    Obrigado.


    Gilberto

    segunda-feira, 3 de setembro de 2012 14:30