none
Consulta 2 Tabelas SQL - C# RRS feed

  • Pergunta

  • Boa tarde galera,

    Estou utilizando C# - Windows Forms - SQL Server

    Galera to precisando fazer uma tabela que os dados tem que vim de outras 2 tabelas!

    Mais ou menos assim:

    Tem no banco de dados 1 tabela (Tabela A) aonde armazena dados sobre produtos e outra TABELA B que armazena o que tem no estoque.

    Eu quero pegar e criar uma 3 tabela (TABELA C) aonde irá possui dados das duas tabelas, gostaria de fazer isso sem intervenção do usuário...

    O grande desafio é que por exemplo eu preciso trazer da tabela A as informações como modelo do produto, localização e quantidade tudo isso eu trago usando um GROUP BY do SQL pois são vários produtos. Eu sei que posso pegar essas informações e adicionar na TABELA C atraves de um INSERT COM SELECT...mas a questão é que eu preciso pegar também a informação da tabela B de quantos sobressalentes tem no estoque para cada modelo de produto.

    Ai que está o problema como que eu faço para pegar os resultados que vão vim mais ou menos assim

    Tabela B (Estoque) Consulta usando a função CONT e GROUP BY

    MODELO |  QTD

    A                 22

    S                 15

    D                12

     

    Preciso pegar somente a QTD e colocar na tabela C que já vai estar com os modelos que estão sendo usados.

     

    TABELA C(já foi inserido as informações da TABELA A)

    ID | MODELO | LOCAL | QTD | QTD DE SOBRESSALENTE PARA ESSE MODELO

    1         A          L            4               ?????

    2         B          L            9               ?????-> É aqui que preciso colocar a informação do select acima só que preciso colocar conforme o seu respectivo modelo

     

    Alguem tem alguma ideia?

    quarta-feira, 9 de junho de 2010 15:41

Respostas

Todas as Respostas

  • Guilherme, é simples, é só voce fazer um inner join da tabela A com a B e relacionar pelo modelo.
    • Sugerido como Resposta Thiago MDTech quarta-feira, 9 de junho de 2010 16:22
    quarta-feira, 9 de junho de 2010 16:21
  • select m.modeloVal, count(e.modeloValv)as'QTD' from MAformValvAut as m INNER JOIN MAestoqueCorpo as e
    ON m.modeloVal = e.modeloValv group by m.modeloVal, e.modeloValv

    Thiago, eu fiz usando INNER JOIN...mas ta dando a mesma coisa...

    Eu to precisando mostrar modelo, qtd daquele modelo que está sendo usado e a quantidade que tem de sobressalente, só que quando vou tentar CONTAR a quantidade de modelos para sobressalente ele ta contando TUDO tanto a tabela A como a tabela B e ta me trazendo um valor bem maior do que verdadeiramente existe.

    Alguem tem alguma ideia de como posso resolver isso?

    quarta-feira, 9 de junho de 2010 16:45
  • tira o  e.modeloValv do group by

    select m.modeloVal, count(e.modeloValv)as'QTD' from MAformValvAut as m INNER JOIN MAestoqueCorpo as e
    ON m.modeloVal = e.modeloValv group by m.modeloVal


    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    quarta-feira, 9 de junho de 2010 18:06
    Moderador
  • Exatamente
    quarta-feira, 9 de junho de 2010 18:16
  • Aqui tem um exemplo completo veja: http://msdn.microsoft.com/en-us/library/bb397941.aspx
    Just Be Humble Malange!
    sexta-feira, 11 de junho de 2010 17:21
    Moderador