[firebase-br] SQL de Item com pedido sem item
Ricardo Rocetti
rocetti em gmail.com
Qui Nov 19 14:25:05 -03 2015
Boa tarde,
Tente algo assim:
from itens IT
right outer join Produtos PRD on (it.ProdutoNo = PRD.ProdutoNo)
Where (it.entregue) like(:VarEntregue) and
it.Dataentrega between :VarDataI and :VarDataF
and it.Detalhes Like(:Var_Detalhes)
Isso forçara o retorno de todos os itens da tabela da direita (PRODUTOS) e
os correspondentes da tabela da esquerda (ITENS) se houver.
2015-11-19 14:03 GMT-02:00 Zottis <bzottis em ig.com.br>:
>
>
> pessoal, tenho um pesquisa que mostra os itens vendidos, mas existem
> alguns pedidos que não tem item, como faria para mostra-los também na
> consulta?
>
> Tabela Pedidos:
>
> pedidono, clienteno, data, etc
>
> tabela itens:
>
> pedidono, produtono, quantidade, etc.
>
> o sql é este:
>
> Select it.PEDIDONO, it.ITEMNO, it.LOJANO, it.PRODUTONO, it.CLIENTENO,
> it.DETALHES,
> it.UNIDADE, it.DATA, it.CTROLESTNO, it.IPI, it.ICMS, it.ST,
> it.TAXACOMISSFORMPGTO,
> it.TAXACOMISVENDEDOR, it.TAXACOMISSAOPRODUTO, it.PESO, it.DESCONTO,
> it.QUANTIA,
> it.UNITARIO, it.CUSTOPRODUTO, it.FRETE, it.VALORIPI, it.VALORICMS,
> it.TOTAL,
> it.LUCRO, it.TOTALPESO, it.TOTALCUSTO, it.USUARIONO, it.CLASSE_FISCAL,
> it.DATAENTREGA, it.ENTREGUE, it.REF, it.OC,
>
> PRD.Descricao as Produto,
> PRD.CodigoBarra as EAN13,
> PRD.Foto as Foto,
>
> (select P.limite_lib from Pedidos P where P.pedidono = it.pedidono)as
> Limite_lib,
> (select p.prometido from pedidos p where p.pedidono = it.pedidono),
>
> case
> when (select count (it2.itemno) from itens it2 where it2.pedidono =
> it.pedidono ) > 1 then
> case
> when it.itemno = (select min(it3.itemno)from itens it3 where
> it3.pedidono = it.pedidono ) then
> coalesce((select coalesce( sum(cr.totalpago), 0) from ctarec cr where
> cr.pedidono = it.pedidono and cr.deletado = 'N' ),0)
> else
> 0
> end
> else
> coalesce((select coalesce( sum(cr.totalpago), 0) from ctarec cr where
> cr.pedidono = it.pedidono and cr.deletado = 'N' ),0)
> end as totalPago,
>
> (Select C.Nomefantasia from Clientes C where it.Clienteno =
> C.Clienteno),
> (Select C.RazaoSocial from Clientes C where it.Clienteno =
> C.Clienteno),
> (Select C.fone from Clientes C where it.Clienteno = C.Clienteno),
> (Select C.celular from Clientes C where it.Clienteno = C.Clienteno),
> case
> when (((SELECT COUNT (cr.Contano) FROM ctarec cr WHERE cr.pedidono =
> it.pedidono and cr.pago = 'S')
> = (SELECT COUNT (cr.Contano) FROM ctarec cr WHERE cr.pedidono =
> it.pedidono))
> and (SELECT COUNT (cr.Contano) FROM ctarec cr WHERE cr.pedidono =
> it.pedidono) > 0) then 'S'
> else 'N'
> end as pago,
>
> it.total_descontos, ( CAST(it.altura as numeric(4,2)) || ' X ' ||
> cast(it.comprimento as numeric(4,2))) medida_projeto,
> coalesce((select vp.projeto from vidr_projetoc vp where vp.cod_projeto
> = it.cod_projeto ),prd.descricao)Projeto
>
> from itens IT, Produtos PRD
> Where it.ProdutoNo = PRD.ProdutoNo
> and
> (it.entregue) like(:VarEntregue) and
> it.Dataentrega between :VarDataI and :VarDataF
> and it.Detalhes Like(:Var_Detalhes)
> order by
> it.Data, it.PedidoNo, it.produtoNo
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>
Mais detalhes sobre a lista de discussão lista