[firebase-br] SQL de Item com pedido sem item

Zottis bzottis em ig.com.br
Qui Nov 19 14:55:42 -03 2015


 

Boa tarde Ricardo, o problema é que antes eu não precisava fazer nenhum
relacionamento com a tabela de pedidos, 

pois só precisava mostrar os itens, mas agora surgiu a necessidade de
mostrar também uma linha de registro para mostrar os pedidos que não tem
item 

ou seja, tenho que relacionar o Right join com pedidos, mas não deu
certo. 

nem com o Right join e nem com right outer join 

"... from itens it right outer join pedidos pe on it.pedidono =
pe.pedidono" 

o relacionamento com os produtos esta OK, pois sempre tenho o produto
que 

Em 19/11/2015 14:25, Ricardo Rocetti escreveu: 

> 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 [1]) - Hospedado em www.locador.com.br [2] Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107 [3] Para consultar mensagens antigas: http://www.firebase.com.br/pesquisa_lista.html [4]
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br [1]) - Hospedado em www.locador.com.br [2]
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107 [3]
> Para consultar mensagens antigas: http://www.firebase.com.br/pesquisa_lista.html [4]
 

Links:
------
[1] http://www.firebase.com.br
[2] http://www.locador.com.br
[3] http://www.firebase.com.br/fb/artigo.php?id=1107
[4] http://www.firebase.com.br/pesquisa_lista.html



Mais detalhes sobre a lista de discussão lista