Alguém pode me ajudar.......como usar quot;inner joinquot;
Olá Pessoal!
Gostaria de saber qual o SQL correto para que eu possa buscar registros de tres tabelas distintas.
EX: Neste exemplo abaixo eu estou buscando registros da tabela de ´Clientes´ e registros da tabela ´Ordem´ certo ???
select cli.nome_cliente, cli.nome_fantazia, ord.cod_ordem, ord.data_entradanf, ord.nota_fiscal from (clientes cli inner join ordem ord on cli.cod_cliente=ord.cod_cliente) group by cli.nome_cliente, cli.nome_fantazia, ord.cod_ordem, ord.data_entradanf, ord.nota_fiscal
EU GOSTARIA DE BUSCAR O NOME DO TÉCNICO NESTE SQL.
O nome do tecnico esta na tabela de ´TÉCNICOS´ que se relaciona com a tabela ´ORDEM´
Grato Joao Paulo
Gostaria de saber qual o SQL correto para que eu possa buscar registros de tres tabelas distintas.
EX: Neste exemplo abaixo eu estou buscando registros da tabela de ´Clientes´ e registros da tabela ´Ordem´ certo ???
select cli.nome_cliente, cli.nome_fantazia, ord.cod_ordem, ord.data_entradanf, ord.nota_fiscal from (clientes cli inner join ordem ord on cli.cod_cliente=ord.cod_cliente) group by cli.nome_cliente, cli.nome_fantazia, ord.cod_ordem, ord.data_entradanf, ord.nota_fiscal
EU GOSTARIA DE BUSCAR O NOME DO TÉCNICO NESTE SQL.
O nome do tecnico esta na tabela de ´TÉCNICOS´ que se relaciona com a tabela ´ORDEM´
Grato Joao Paulo
Joaopp
Curtidas 0
Respostas
Ulissesn
04/06/2003
Caro amigo aqui vai um exemplo de select com Left Outgh troque ele por inner join e estará tudo certo......
Espero ter ajudado.
Ulisses
SELECT
P.NUMERO_PEDIDO Pedido,
P.CODIGO_CLIENTE,
C.DESCRICAO Cliente,
I.CODIGO_PRODUTO,
I.QTIDADE,
i.descricao,
P.DATA_EMISSAO Data,
P.LOCAL_ENTREGA,
( select decode from decode_proc ( PR.CODIGO_PRODUTO, ´NULL´, I.DESCRICAO || ´ (I)´ , PR.DESCRICAO) ) PRODUTO,
( ENPR.SETOR || ´ / ´ || ENPR.RUA || ´ / ´ || ENPR.BLOCO || ´ / ´ || ENPR.ANDAR || ´ / ´ || ENPR.APTO1 || ´ / ´ || ENPR.APTO2 || ´ / ´ || ENPR.APTO3 || ´ / ´ || ENPR.APTO4 || ´ / ´ || ENPR.APTO5 ) AS Localizacao,
(Select decode from decode_proc (V2.Descricao, ´NULL´, V1.Descricao, V1.Descricao || ´ / ´ || V2.Descricao)) Vendedores,
U.Codigo_Unidade Unidade,
TS.Descricao Forma_Entrega,
P.Nome_Transportadora,
P.Numero_OC,
P.OBS_Deposito,
P.Situacao_Pedido
FROM
PEDIDO_VENDA P
LEFT OUTER JOIN CLIENTE C ON P.CODIGO_CLIENTE = C.CODIGO_CLIENTE
LEFT OUTER JOIN ITENS_PEDIDO_VENDA I ON ( P.NUMERO_PEDIDO = I.NUMERO_PEDIDO and P.FILIAL = I.FILIAL )
LEFT OUTER JOIN ENDERECO ENPR ON ( I.CODIGO_PRODUTO = ENPR.CODIGO_PRODUTO AND P.FILIAL = ENPR.FILIAL )
LEFT JOIN PRODUTO PR ON I.CODIGO_PRODUTO = PR.CODIGO_PRODUTO
LEFT OUTER JOIN UNIDADE U ON I.UNIDADE = U.CODIGO_UNIDADE
LEFT OUTER JOIN Vendedores V1
ON P.CODIGO_VENDEDOR1 = V1.CODIGO_VENDEDOR
LEFT OUTER JOIN Vendedores V2
ON P.CODIGO_VENDEDOR2 = V2.CODIGO_VENDEDOR
LEFT OUTER JOIN TIPOS_SEPARAR TS ON ( P.SEPARAR = TS.SEPARAR)
WHERE
P.NUMERO_PEDIDO = :Pedido
AND P.FILIAL = :Filial
Espero ter ajudado.
Ulisses
SELECT
P.NUMERO_PEDIDO Pedido,
P.CODIGO_CLIENTE,
C.DESCRICAO Cliente,
I.CODIGO_PRODUTO,
I.QTIDADE,
i.descricao,
P.DATA_EMISSAO Data,
P.LOCAL_ENTREGA,
( select decode from decode_proc ( PR.CODIGO_PRODUTO, ´NULL´, I.DESCRICAO || ´ (I)´ , PR.DESCRICAO) ) PRODUTO,
( ENPR.SETOR || ´ / ´ || ENPR.RUA || ´ / ´ || ENPR.BLOCO || ´ / ´ || ENPR.ANDAR || ´ / ´ || ENPR.APTO1 || ´ / ´ || ENPR.APTO2 || ´ / ´ || ENPR.APTO3 || ´ / ´ || ENPR.APTO4 || ´ / ´ || ENPR.APTO5 ) AS Localizacao,
(Select decode from decode_proc (V2.Descricao, ´NULL´, V1.Descricao, V1.Descricao || ´ / ´ || V2.Descricao)) Vendedores,
U.Codigo_Unidade Unidade,
TS.Descricao Forma_Entrega,
P.Nome_Transportadora,
P.Numero_OC,
P.OBS_Deposito,
P.Situacao_Pedido
FROM
PEDIDO_VENDA P
LEFT OUTER JOIN CLIENTE C ON P.CODIGO_CLIENTE = C.CODIGO_CLIENTE
LEFT OUTER JOIN ITENS_PEDIDO_VENDA I ON ( P.NUMERO_PEDIDO = I.NUMERO_PEDIDO and P.FILIAL = I.FILIAL )
LEFT OUTER JOIN ENDERECO ENPR ON ( I.CODIGO_PRODUTO = ENPR.CODIGO_PRODUTO AND P.FILIAL = ENPR.FILIAL )
LEFT JOIN PRODUTO PR ON I.CODIGO_PRODUTO = PR.CODIGO_PRODUTO
LEFT OUTER JOIN UNIDADE U ON I.UNIDADE = U.CODIGO_UNIDADE
LEFT OUTER JOIN Vendedores V1
ON P.CODIGO_VENDEDOR1 = V1.CODIGO_VENDEDOR
LEFT OUTER JOIN Vendedores V2
ON P.CODIGO_VENDEDOR2 = V2.CODIGO_VENDEDOR
LEFT OUTER JOIN TIPOS_SEPARAR TS ON ( P.SEPARAR = TS.SEPARAR)
WHERE
P.NUMERO_PEDIDO = :Pedido
AND P.FILIAL = :Filial
GOSTEI 0
Fred
04/06/2003
que complicação!
select cli.nome_cliente, cli.nome_fantazia, ord.cod_ordem, ord.data_entradanf, ord.nota_fiscal, t.nometecnico from clientes cli
inner join ordem ord on cli.cod_cliente=ord.cod_cliente
inner join tecnico t on t.codtecnico = ord.codtecnico
group by cli.nome_cliente, cli.nome_fantazia, ord.cod_ordem, ord.data_entradanf, ord.nota_fiscal 8)
select cli.nome_cliente, cli.nome_fantazia, ord.cod_ordem, ord.data_entradanf, ord.nota_fiscal, t.nometecnico from clientes cli
inner join ordem ord on cli.cod_cliente=ord.cod_cliente
inner join tecnico t on t.codtecnico = ord.codtecnico
group by cli.nome_cliente, cli.nome_fantazia, ord.cod_ordem, ord.data_entradanf, ord.nota_fiscal 8)
GOSTEI 0