none
Consulta relacionada (informar se registro existe em outra tabel) RRS feed

  • Pergunta

  •  

    Pessoal, como posso realizar uma consulta que informa que o registro existe em outra tabela? Vou exemplificar

     

    TABELA A
    ID   NOME

    1    Fulano

    2    Beltrano

    3    Você

     

    Tabela B

    ID   CAMPOx    CAMPOy

    2        10              20

     

    Gostaria de ter este resultado:

     

    ID   NOME    EXISTE_EM_B

    1    Fulano         não

    2    Beltrano       sim

    3    Você           não

     

     

     

     

    quarta-feira, 30 de julho de 2008 18:46

Respostas

  • Boa Tarde,

     

    Dê uma olhada no exemplo abaixo:

     

    Code Snippet

    CREATE TABLE A (ID INT, NOME VARCHAR(20))

    INSERT INTO A VALUES (1,'Fulano')

    INSERT INTO A VALUES (2,'Beltrano')

    INSERT INTO A VALUES (3,'Você')

     

    CREATE TABLE B (ID INT, CAMPOx INT, CAMPOy INT)

    INSERT INTO B VALUES (2, 10, 20)

     

    SELECT ID, NOME,

    CASE WHEN (SELECT COUNT(*) FROM B WHERE A.ID = B.ID) > 0 THEN 'Sim' ELSE 'Não' END

    AS EXISTE_B

    FROM A

     

     

     

    [ ]s,

     

    Gustavo

    quarta-feira, 30 de julho de 2008 19:16
  • Felipe,

     

    Veja se este exemplo ajuda:

     

    Code Snippet

    Create Table T1

    (Codigo Int Identity(1,1),

    Descricao VarChar(100))

     

    Create Table T2

    (Codigo Int Identity(1,1),

    CodT1 Int)

     

    Insert Into T1 Values('Arroz')

    Insert Into T1 Values('Feijao')

    Insert Into T1 Values('Macarrão')

     

    Insert Into T2 Values(1)

    Insert Into T2 Values(2)

     

    Select * from T1

    Select * from T2

    Select T1.Codigo, T1.Descricao, Case When (T1.Codigo = T2.CodT1) Then 'Sim'

    Else 'Não'

    End Existe

    from T1 Left Join T2

    On T1.Codigo = T2.CodT1

     

     

    quarta-feira, 30 de julho de 2008 19:16

Todas as Respostas

  • Boa Tarde,

     

    Dê uma olhada no exemplo abaixo:

     

    Code Snippet

    CREATE TABLE A (ID INT, NOME VARCHAR(20))

    INSERT INTO A VALUES (1,'Fulano')

    INSERT INTO A VALUES (2,'Beltrano')

    INSERT INTO A VALUES (3,'Você')

     

    CREATE TABLE B (ID INT, CAMPOx INT, CAMPOy INT)

    INSERT INTO B VALUES (2, 10, 20)

     

    SELECT ID, NOME,

    CASE WHEN (SELECT COUNT(*) FROM B WHERE A.ID = B.ID) > 0 THEN 'Sim' ELSE 'Não' END

    AS EXISTE_B

    FROM A

     

     

     

    [ ]s,

     

    Gustavo

    quarta-feira, 30 de julho de 2008 19:16
  • Felipe,

     

    Veja se este exemplo ajuda:

     

    Code Snippet

    Create Table T1

    (Codigo Int Identity(1,1),

    Descricao VarChar(100))

     

    Create Table T2

    (Codigo Int Identity(1,1),

    CodT1 Int)

     

    Insert Into T1 Values('Arroz')

    Insert Into T1 Values('Feijao')

    Insert Into T1 Values('Macarrão')

     

    Insert Into T2 Values(1)

    Insert Into T2 Values(2)

     

    Select * from T1

    Select * from T2

    Select T1.Codigo, T1.Descricao, Case When (T1.Codigo = T2.CodT1) Then 'Sim'

    Else 'Não'

    End Existe

    from T1 Left Join T2

    On T1.Codigo = T2.CodT1

     

     

    quarta-feira, 30 de julho de 2008 19:16