none
Comparar duas tabelas e seus registros... RRS feed

  • Pergunta

  • Boa tarde à todos... Sou totalmente leigo em SQL e estou precisando de uma ajuda de vocês, aliás, um excelente ajuda. Tenho duas tabelas abaixo:

    Tabela linaus07

    d01 d02 d03 d04 d05 d06 d07
    10 11 12 13 14 15 16
    10 11 12 13 14 16 17
    10 11 12 13 14 16 22

    Tabela linrep07

    d01 d02 d03 d04 d05 d06 d07 d08 d09 d10 d11 d12 d13 d14 d15
    1 2 3 4 5 6 7 10 11 12 13 14 16 17 22
    1 2 3 4 5 6 7 8 10 11 12 13 14 16 17
    1 2 3 4 5 6 7 9 10 11 12 13 14 16 22

    Então, o que preciso...???

    Pego o 1 registro da tabela linaus07 contendo 7 campos e confronto com todos os registros da tabela linrep07 contendo 15 campos, reparem que o primeiro registro da tabela linaus07, confrontando com a tabela linrep07, em nenhum momento continha 7 iguais nos registros, então, não preciso fazer nada, porém, repare agora, que o segundo registro da tabela linaus07, confrontando com a tabela linrep07, encontramos 7 campos exatamente nos 15 campos da outra tabela, então, pego o registro da tabela linrep07 e gravo em outro banco de dados (um novo), o registro que contem esses 15 campos que tinham os 7 campos da tabela linaus07.

    o que tem que ser respeitado...

    Cada registro da tabela linaus07 contendo 7 campos, irá passar em todos os registros da tabela linrep07 contendo 15 campos e irá colocar num novo banco de dados, todos os registros que da tabela linrep07 tiverem exatamente os 7 campos da tabela linaus07 e ao final, esse novo banco, terá com certeza muito registros, mas preciso salvá-los em um arquivo .txt com o separador "-" entre os campos...

    Espero ter sido claro... Obrigado 

    MARCELO SAMPAIO

    segunda-feira, 3 de setembro de 2018 17:58

Respostas

  • Bom dia,

    Segue abaixo uma sugestão de consulta para identificar as linhas que possuem os 7 valores:

    select distinct
        r.*
    from linaus07 as a
    cross join linrep07 as r
    where
        a.d01 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15) and
        a.d02 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15) and
        a.d03 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15) and
        a.d04 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15) and
        a.d05 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15) and
        a.d06 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15) and
        a.d07 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15)
    

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    terça-feira, 4 de setembro de 2018 13:10

Todas as Respostas

  • Bom dia,

    Segue abaixo uma sugestão de consulta para identificar as linhas que possuem os 7 valores:

    select distinct
        r.*
    from linaus07 as a
    cross join linrep07 as r
    where
        a.d01 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15) and
        a.d02 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15) and
        a.d03 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15) and
        a.d04 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15) and
        a.d05 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15) and
        a.d06 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15) and
        a.d07 in (r.d01, r.d02, r.d03, r.d04, r.d05, r.d06, r.d07, r.d08, r.d09, r.d10, r.d11, r.d12, r.d13, r.d14, r.d15)
    

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    terça-feira, 4 de setembro de 2018 13:10
  • Primeiramente Júnior, muito obrigado pela resposta.

    Funcionou perfeitamente como eu queria, diria EXCELENTE !!!, você é um grande conhecedor do assunto, sendo assim, agradeço de coração novamente se puder me completar o seu comando, salvando o que foi encontrado em um novo banco de dados, sendo os campos, separados pelo carácter "-" por favor.

    Agradeço mais uma vez.

    terça-feira, 4 de setembro de 2018 18:59
  • Acredito que você consiga obter esse texto através do SQL Server Management Studio configurando as opções do menu Ferramentas > Opções > Resultados da Consulta > SQL Server > Resultados em Texto e direcionando o resultado da consulta para texto através do menu Consulta > Resultados em > Resultados em Texto.

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    terça-feira, 4 de setembro de 2018 20:47