locked
Como faço essa subconsulta

    Pergunta

  • Olá Pessoal, eu tenho uma tabela de clientes e outra de movimentação(MOVCLI), onde estão os débitos dos clientes.

    Ex: Tabela Clientes

    Cod               -     Nome

    0001                   João

    0002                   Maria

    etc....

    A tabela MovCli

    Cod         Data       Valor    XXXX           XXXX

    0001      xx/xx/xx     250,00

    0002     xx/xx/xx     100,00

    0001     xx/xx/xx     50,00

    Tou tentando fazer a subconsulta para me retornar o código, nome e o total do débito do cliente, mas não me retorna nada.

    SELECT CODIGO, NOME FROM CLIENTES WHERE CODIGO =  (SELECT  SUM(VALOR) AS TOTAL  FROM MOVCLI WHERE CODIGO= 0001).

    Alguém aí tem a maneira certa de fazer esse select

    sexta-feira, 16 de março de 2007 20:58

Respostas

  • É só colocar o WHERE filtrando apenas o cliente selecionado

    SELECT T1.COD, T1.NOME, SUM(T2.VALOR)
    FROM CLIENTE T1
    INNER JOIN MovCli T2
       ON T1.Cod = T2.Cod
    WHERE
    T1.COD = 1000
    GROUP BY T1.COD, T1.NOME



    sábado, 17 de março de 2007 20:27

Todas as Respostas

  • SELECT T1.COD, T1.NOME, SUM(T2.VALOR)
    FROM CLIENTE T1
    INNER JOIN MovCli T2
       ON T1.Cod = T2.Cod
    GROUP BY T1.COD, T1.NOME

    Espero ter ajudado
    sábado, 17 de março de 2007 03:59
  • Sérgio, seu exemplo me serviu também, ficou legal.

     Mas o que quero listar somente um cliente, informando seu código e, fazer a soma de seus débitos, entendu.

    Fico no aguardo.

    José Antunes

    sábado, 17 de março de 2007 13:21
  • É só colocar o WHERE filtrando apenas o cliente selecionado

    SELECT T1.COD, T1.NOME, SUM(T2.VALOR)
    FROM CLIENTE T1
    INNER JOIN MovCli T2
       ON T1.Cod = T2.Cod
    WHERE
    T1.COD = 1000
    GROUP BY T1.COD, T1.NOME



    sábado, 17 de março de 2007 20:27
  • Obrigado Sérgio. Preciso estudar um pouco de Sql, to fraquinho mesmo.

     

    segunda-feira, 19 de março de 2007 18:24