none
Visualizar colunas de tabelas diferentes. Como fazer?

    Question

  • Bom dia galera,

    Estou com o seguinte caso.

    Tenho 2 tabelas - NOTIFICATION e STEP

    Da tabela NOTIFICATION eu tenho que selecionar a coluna a, b, c, d.

    Da tabela STEP eu tenho que selecionar a coluna x, y, z.

    Preciso que as colunas a, b, c, d, x, y, z me retornem, pois preciso mostra-las numa gridview.

    Fazer um select simples nas tabelas eu sei mas juntar os dois retornos eu nao sei.

    Muito obrigado pessoal! :)


    Leopoldo A. Nascimento (Ajude o máximo que puder, que assim será feito por você.) - Foi útil esta resposta? Então marque. ;)

    Thursday, March 22, 2012 2:15 PM

Answers

  • Leopoldo, bom dia!

    Para realizar a união dessas informações você deveráutilizar JOINS, que são formas para realizar a união entre tabelas, porém as tabelas precisam conter um chave de ligação entre elas, um valor único que reconheça o valor na outra tabela, possivelmente você já possui isso em sua tabela. Para entender melhor sobre joins utilize esse link - http://imasters.com.br/artigo/240/sql_server/entendendo_joins/ e http://www.devmedia.com.br/associndo-tabelas-no-sql-server/1964         

    Faça o seguinte 

    SELECT N.a, N.b, N.c, N.d, S.x, S.y, S.z
    FROM Notification AS N 
    INNER JOIN Step AS S 
    ON N.ChaveNotification = S.ChaveStep
    

    Abs


    Luan.Moreno MTAC | MCP | MTA | MCTS | MCITP SQL Server Administrator / Developer 2008

    Thursday, March 22, 2012 2:22 PM
  • Leopoldo,

    "A" e "B" são apenas alias(apelidos) para que eu nao precise explicitar o nome da tabela toda vez que quiser referencia-la.

    Desta forma a.NOme seria o mesmo que JOIN_EXEMPLE_A.NOME

    Abraços;

    Se útil, Classifique.


    Dhiego Piroto - MCP | MCTS SQL Server 2008 Developer | Email: dhiegopiroto@gmail.com

    Thursday, March 22, 2012 3:30 PM

All replies

  • Leopoldo, bom dia!

    Para realizar a união dessas informações você deveráutilizar JOINS, que são formas para realizar a união entre tabelas, porém as tabelas precisam conter um chave de ligação entre elas, um valor único que reconheça o valor na outra tabela, possivelmente você já possui isso em sua tabela. Para entender melhor sobre joins utilize esse link - http://imasters.com.br/artigo/240/sql_server/entendendo_joins/ e http://www.devmedia.com.br/associndo-tabelas-no-sql-server/1964         

    Faça o seguinte 

    SELECT N.a, N.b, N.c, N.d, S.x, S.y, S.z
    FROM Notification AS N 
    INNER JOIN Step AS S 
    ON N.ChaveNotification = S.ChaveStep
    

    Abs


    Luan.Moreno MTAC | MCP | MTA | MCTS | MCITP SQL Server Administrator / Developer 2008

    Thursday, March 22, 2012 2:22 PM
  • E ai Luan, tudo certo?

    Cara, acho que entendi mas por via das duvidas, voce consegue me explicar mais ou menos essa parte do "AS" e do "ON" pra frente, por favor?

    Muito obrigado desde já! :)


    Leopoldo A. Nascimento (Ajude o máximo que puder, que assim será feito por você.) - Foi útil esta resposta? Então marque. ;)

    Thursday, March 22, 2012 2:29 PM
  • Olá Leopoldo,

    Você precisará usar JOINS, para que as tabelas possam ser 'juntadas'. Só que para isto você precisará de pelo menos um campo que identifique seja comum as duas tabelas (FK). Caso contrario você vai obter um produto cartesiano dos dados.

    exemplo:

    CREATE TABLE JOIN_EXEMPLE_A(
    	NOME VARCHAR(20)
    )
    GO
    
    CREATE TABLE JOIN_EXEMPLE_B(
    	IDADE INT
    )
    GO
    INSERT INTO JOIN_EXEMPLE_A (NOME) VALUES ('DHIEGO')
    INSERT INTO JOIN_EXEMPLE_A (NOME) VALUES ('LEOPOLDO')
    GO
    INSERT INTO JOIN_EXEMPLE_B (IDADE) VALUES (22)
    INSERT INTO JOIN_EXEMPLE_B (IDADE) VALUES (25)
    GO
    SELECT A.NOME, B.IDADE FROM JOIN_EXEMPLE_A A, JOIN_EXEMPLE_B B

    Abraços.

    Se útil, Classifique.


    Dhiego Piroto - MCP | MCTS SQL Server 2008 Developer | Email: dhiegopiroto@gmail.com

    Thursday, March 22, 2012 2:29 PM
  • Dhiego,

    Pq qdo voce dá o select no final, voce coloca A e B - A.NOME e B.IDADE?

    Abraços


    Leopoldo A. Nascimento (Ajude o máximo que puder, que assim será feito por você.) - Foi útil esta resposta? Então marque. ;)

    Thursday, March 22, 2012 3:27 PM
  • Leopoldo,

    "A" e "B" são apenas alias(apelidos) para que eu nao precise explicitar o nome da tabela toda vez que quiser referencia-la.

    Desta forma a.NOme seria o mesmo que JOIN_EXEMPLE_A.NOME

    Abraços;

    Se útil, Classifique.


    Dhiego Piroto - MCP | MCTS SQL Server 2008 Developer | Email: dhiegopiroto@gmail.com

    Thursday, March 22, 2012 3:30 PM
  • Opa... legal!

    Pensei que fosse algum tipo de relacionamento mesmo com a tabela mas que fosse algo obrigatório, pois todo mundo quase faz, pelo que vi na net.

    Muito obrigado pessoal, Dhiego e Luan.

    Abraços


    Leopoldo A. Nascimento (Ajude o máximo que puder, que assim será feito por você.) - Foi útil esta resposta? Então marque. ;)

    Thursday, March 22, 2012 3:33 PM