Por favor,
Gostaria que retirassem o meu nome da lista.
Desde j�, agrade�o.
Elson
Antonio Carlos A. da Silva wrote:
> Caro colega, O resultado q vc quer, ou pelo menos o resultado q vc
> desenhou na base do seu email.... n�o pode ser obtido com uma �nica
> instru��o SQL.... Porqu�...? Porque, de acordo, com a cardinalidade
> das entidades q vc desenhou no corpo do seu email... a tabela
> ORCAMENTO n�o se encontra diretamente relacionada a tabela VENDAS, ou
> seja, vc teria uma modelagem de dados mais ou menos como a
> seguinte(desculpe o horr�vel desenho): ---------------------------
> 1 N ----------------------------------- CLIENTE ---
> <---------------- ----- ORCAMENTO
> -------------------------------
> -------------------------------- ^ 1 |
> N---------------------------- VENDA
> ---------------------------- ^ 1 |
> N---------------------------- VENDA ------ ITEM
> ---------------------------- Perceba q vc pode relacionar
> perfeitamente bem as tabelas VENDA ITEM e VENDA com a tabela CLIENTE
> em apenas uma instru��o SQL.... Assim como, tamb�m, vc pode relacionar
> a tabela ORCAMENTO perfeitamente bem com a tabela CLIENTE em apenas
> uma instru��o SQL, no entanto o relacionamento das quatro tabelas em
> uma �nica instru��o SQL n�o � poss�vel, pois provocaria o mesmo efeito
> de produto cartesiano o qual vc j� experimentou antes em outras
> d�vidas suas anteriores. Para resolver esse problema vc precisa montar
> uma matriz q dever� ter o formato das informa��es as quais vc deseja
> mostrar e, � partir da�, ir construindo o resultado atrav�s de duas
> instru��es SQL, uma para cada bra�o de relacionamentos. Vc pode fazer
> isso em JAVA... ou atrav�s de uma Stored Procedure (recomendado) do
> gerenciador de banco de dados q estiver utilizando.... Caso deseje eu
> posso te dar um exemplo pr�tico disso, mas preciso saber q gerenciador
> de banco de dados vc est� utilizando para poder montar o exemplo com
> as instru��es corretas, pois as maneiras de faz�-lo podem variar
> ligeiramente de um gerenciador para outro. []'s Antonip Carlos
> Antunes
>
> -----Mensagem original-----
> De: Javan�s <[EMAIL PROTECTED]>
> Para: Sun <[EMAIL PROTECTED]>; SouJava
> <[EMAIL PROTECTED]>; GOJUG <[EMAIL PROTECTED]>
> Data: Quinta-feira, 9 de Mar�o de 2000 05:26
> Assunto: Re: [SouJava-J] Consultas com tabelas relacionadas
>
> Caros amigos, antes de mais nada sauda��es javanesas,
> Desculpas por ter mandando em HTML, mas n�o tive outra
> op��o.
>
> Tendo os seguintes dados necessito saber qual consulta SQL
> devo fazer:
>
> Table CLIENTE // DADOS CONTIDOS NA TABELA
> CODCLI TIPO NOME
> 000001 1 JOSE DA SILVA
> 000012 1 JOAO DA SILVA
> 000309 1 MARIA DE S�
>
> PK=CODCLI+TIPO
>
> Table VENDA // DADOS CONTIDOS NA TABELA
> NUMERO CODCLI TIPO DATA
> 000001 000309 1 15-02-2000
> 000002 000001 1 12-02-2000
> 000003 000012 1 13-02-2000
> 000004 000309 1 25-02-2000
>
> PK=NUMERO
> FK=CLIENTE.CODCLI+CLIENTE.TIPO
>
> Table VENDAITEM // DADOS CONTIDOS NA TABELA
> NUMERO CODPRO QUANT
> 000001 M-0001 1
> 000001 P-1212 2
> 000002 N-1211 51
> 000003 O-1281 25
> 000003 U-1211 10
> 000003 T-1285 12
> 000003 Q-1265 35
> 000004 K-1248 18
>
> PK=NUMERO+CODPRO
> FK=VENDA.NUMERO
>
> Table ORCAMENTO // DADOS CONTIDOS NA TABELA
> NUMERO CODCLI TIPO DATA
> 000021 000001 1 17-02-2000
> 000032 000309 1 18-02-2000
> 000043 000012 1 10-02-2000
> 000054 000309 1 28-02-2000
>
> PK=NUMERO
> FK=CLIENTE.CODCLI+CLIENTE.TIPO
> Lembro que pode n�o conter dados em uma das tabelas
> (ORCAMENTO, VENDA ou VENDAITEM)
>
> Resultado esperado :
>
> ORCAMENTO
> VENDA VENDAITEM
> CODCLI TIPO CLIENTE NUMERO CODCLI TIPO DATA
> NUMERO CODCLI TIPO DATA NUMERO CODPRO QUANT
> 000001 1 JOSE DA SILVA 000021 000001 1 17-02-2000
> 000001 1 JOSE DA SILVA
> 000002 000001 1 12-02-2000
> 000001 1 JOSE DA SILVA
> 000002 000001 1 12-02-2000 000002 N-1211 51
> 000012 1 JOAO DA SILVA 000043 000012 1 10-02-2000
> 000012 1 JOAO DA SILVA
> 000003 000012 1 13-02-2000
> 000012 1 JOAO DA SILVA
> 000003 000012 1 13-02-2000 000003 O-1281 25
> 000012 1 JOAO DA SILVA
> 000003 000012 1 13-02-2000 000003 U-1211 10
> 000012 1 JOAO DA SILVA
> 000003 000012 1 13-02-2000 000003 T-1285 12
> 000012 1 JOAO DA SILVA
> 000003 000012 1 13-02-2000 000003 Q-1265 35
> 000309 1 MARIA DE S� 000032 000309 1 18-02-2000
> 000309 1 MARIA DE S� 000054 000309 1 28-02-2000
> 000309 1 MARIA DE S�
> 000001 000309 1 15-02-2000
> 000309 1 MARIA DE S�
> 000001 000309 1 15-02-2000 000001 M-0001 1
> 000309 1 MARIA DE S�
> 000001 000309 1 15-02-2000 000001 P-1212 2
> 000309 1 MARIA DE S�
> 000004 000309 1 25-02-2000
> 000309 1 MARIA DE S�
> 000004 000309 1 25-02-2000 000004 K-1248 18
>
>
--------------------------- LISTA SOUJAVA ---------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
[d�vidas mais comuns: http://www.soujava.org.br/faq.htm]
[para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
---------------------------------------------------------------------