none
Consulta sql em duas tabelas trazer uma linha de cada tabela abaixo da outra RRS feed

  • Pergunta

  • Boa tarde Galera,

    Gostaria de saber se tinha como trazer o resultado de uma consulta em duas tabelas, sendo que preciso que a cada linha lida das tabelas fique abaixo da outra.

    Por exemplo:

    Tabela X,Tabela Y (nas tabelas existem um campo que relaciona uma a outra:

    Consulta:

    X

    Y

    X

    Y

    X

    Y

    sábado, 26 de julho de 2014 16:32

Respostas

  • Boa tarde, vê te ajuda...fiz um exemplo onde o nome do time paulista se relaciona com o apelido do time, por exemplo, Corinthians = Timão, Palmeiras = Porco, Santos = Peixe e assim por diante...abraço!!!

    --Vou simular as tabelas do seu banco de dados...

    CREATE TABLE DADOS_A(ID INT IDENTITY(1,1), NOME VARCHAR(50)) CREATE TABLE DADOS_B(ID INT IDENTITY(1,1), NOME VARCHAR(50)) INSERT INTO DADOS_A VALUES('Corinthians'),('Palmeiras'),('Santos'),('São Paulo'),('Portuguesa') INSERT INTO DADOS_B VALUES('Timão'),('Porco'),('Peixe'),('Tricolor'),('Lusa')

    -- Aqui começa a rotina para intercalar os dados... CREATE TABLE #TEMP1 (ID INT IDENTITY(1,1), NOME VARCHAR(50)) CREATE TABLE #TEMP2 (ID INT IDENTITY(1,1), NOME VARCHAR(50)) CREATE TABLE #TEMP_FINAL (ID INT IDENTITY(1,1), NOME VARCHAR(50)) INSERT INTO #TEMP1 SELECT NOME FROM DADOS_A INSERT INTO #TEMP2 SELECT NOME FROM DADOS_B DECLARE @COUNT INT, @COUNTB INT SET @COUNT = 1 WHILE(@COUNT < (SELECT COUNT(*) FROM #TEMP1)+(SELECT COUNT(*) FROM #TEMP2)) BEGIN INSERT INTO #TEMP_FINAL SELECT NOME FROM #TEMP1 WHERE ID = @COUNT INSERT INTO #TEMP_FINAL SELECT NOME FROM #TEMP2 WHERE ID = @COUNT SET @COUNT = @COUNT + 1 END SELECT * FROM #TEMP_FINAL DROP TABLE DADOS_A DROP TABLE DADOS_B DROP TABLE #TEMP1 DROP TABLE #TEMP2 DROP TABLE #TEMP_FINAL


    Diego Neves |Analista Desenvolvedor .NET
    Microsoft MCP | ITIL® V3 Foundation 



    sábado, 26 de julho de 2014 22:54