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]
    ---------------------------------------------------------------------

Responder a