USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  SELECT
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
ENUNCIADA !
Postada em 14/12/2005 11:08 hs         
ainda não entendi bem, mas fiz uma alteração na linha 10 ... faz o teste
 
1)     sql = ""
2)     sql = sql & " select cli.*, est.*,ord.*,ven.*, ti.* "
3)     sql = sql & " from tb_ord ord,"
4)     sql = sql & " tb_vend ven,"
5)     sql = sql & " tb_cliente cli,"
6)     sql = sql & " tb_tipprec ti,"
7)     sql = sql & " tb_estoque est "
8)     sql = sql & " where cli.codcli = ord.codcli"
9)     sql = sql & " and est.codest = ord.codest "
10)    sql = sql & " and ord.codest = ord.codest_re
11)    sql = sql & " and ven.codven = ord.codven "
12)   sql = sql & " and ti.codprec = ord.tp_ord "
13)    sql = sql & " and numerord = " & NumOrd.Text
 14)   rs.Open sql
   
Moreti
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 14/12/2005 14:31 hs            
Martini ainda não funcionou ! Continua mostrando nada !
Olha só.
tenho um codigo de produto 111 que se chama teste tem o preço de 1,00
Eu faço uma venda desse produto blz.
Ai o cliente resolve trocar, bem eu faço a troca e na impressão tenho que mostrar o que ele devolveu e o que ele esta levando, então na tabela onde faço isso se chama tb_ord e la tem os campos codest e cosest_re, o que eu quero é:
mostrar a descrição dos produtos por isso relacionei na sql a linha 9 e linha 10.
Minha impressão ficaria assim:
entro:
codprod                   descrição                 preço
  111                         teste                      1,00
 
saiu
codprd_re                descrição                 preço
 222                          teste1                     1,00
Quando relaciono codprod ele vai buscar as informações na tabela estoque
mas quando relaciono os dois juntos não funciona !
Obrigado
   
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
ENUNCIADA !
Postada em 15/12/2005 06:34 hs         
assim:
 
create table #tb_ord
 (
  Numero numeric,
  CodCli numeric,
  CodVen numeric,
  CodProd numeric,
  CodProdAnt numeric,
  Valor float
 )
create table #tb_estoque
 (
  CodProd numeric,
  Descricao varchar(20)
 )
set nocount on
insert into #tb_estoque (CodProd, Descricao) values (1, 'teste')
insert into #tb_estoque (CodProd, Descricao) values (2, 'teste1')
insert into #tb_ord (Numero, CodCli, CodVen, CodProd, CodProdAnt, Valor) values (1, 1, 1, 1, 1, 1)
update #tb_ord set CodProdAnt = CodProd , CodProd = 2 where Numero = 1
select * from #tb_ord
select * from #tb_estoque
--resultado na mesma linha
select *
from #tb_ord
left outer join #tb_estoque Est1 on Est1.CodProd = #tb_ord.CodProd
left outer join #tb_estoque Est2 on Est2.CodProd = #tb_ord.CodProdAnt
--resultado em linhas diferentes
select 'Produto Trocado',*
from #tb_ord
left outer join #tb_estoque Est1 on Est1.CodProd = #tb_ord.CodProd
union all
select 'Produto Comprado Inicialmente',*
from #tb_ord
left outer join #tb_estoque Est2 on Est2.CodProd = #tb_ord.CodProdAnt
drop table #tb_ord
drop table #tb_estoque

--resultado do selects
Numero    CodCli   CodVen   CodProd   CodProdAnt    Valor                                                
--------- -------- -------- --------- ------------- --------
1         1        1        2         1             1.0
CodProd              Descricao           
-------------------- --------------------
1                    teste
2                    teste1
Numero   CodCli    CodVen   CodProd    CodProdAnt    Valor     CodProd     Descricao    CodProd     Descricao           
-------- --------- -------- ---------- ------------- --------- ----------- ------------ ----------- -----------
1        1         1        2          1             1.0       2           teste1       1           teste
                              Numero   CodCli    CodVen    CodProd    CodProdAnt    Valor    CodProd   Descricao           
----------------------------- -------- --------- --------- ---------- ------------- -------- --------- --------------------
Produto Trocado               1        1         1         2          1             1.0      2         teste1
Produto Comprado Inicialmente 1        1         1         2          1             1.0      1         teste
 
   
Erico
SALVADOR
BA - BRASIL
ENUNCIADA !
Postada em 15/12/2005 09:38 hs            
Meu velho vc terá que fazer assim (Procure usar sempre sintaxe sql ansi):
1)     sql = ""
2)     sql = sql & " select cli.*, est.*,ord.*,ven.*, ti.* , est1.* "
3)     sql = sql & " from tb_ord ord "
4)     sql = sql & " join tb_vend ven on ven.codven = ord.codven "
5)     sql = sql & " join tb_cliente cli on cli.codcli = ord.codcli "
6)     sql = sql & " join tb_tipprec ti on ti.codprec = ord.tp_ord "
7)     sql = sql & " join tb_estoque est on  est.codest = ord.codest "
8)     sql = sql & " join tb_estoque est1 on  est1.codest = ord.codest_re "
9)    sql = sql & " where numerord = " & NumOrd.Text
 
Manjou? tem que duas estancias da tabela tb_estoque uma para cada campo relacionado, isso se os dados dos campos forem distintos.
Bom fim de ano.

A.Erico S.Peixoto
--------------------
Analista de Sistemas
   
Erico
SALVADOR
BA - BRASIL
ENUNCIADA !
Postada em 15/12/2005 09:45 hs            
Retificando. Se o campo codest_re pode ser null .. altere o join para right join.

A.Erico S.Peixoto
--------------------
Analista de Sistemas
   
Página(s): 2/2     « ANTERIOR  


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página