Unir Tabelas com Dados Diferentes

02/02/2015

Pessoal, estou tentando fazer algo bem grosseiro (simples) no SQL, mas não estou conseguindo. É o seguinte:

Tenho o resultado de dois (2) selects, vamos chamá-los de A e B com os seguintes dados

SELECT * FROM TABELA_ A SELECT * FROM TABELA_ B

Resultado A
A
B
C
D
E

Resultado B
Y
J
Z
R
T

Quero criar uma tabela C assim:

Resultado C --- SELECT * FROM TABELA_C

COLUNA 1 COLUNA 2 ( Resultados de A e B - em colunas separadas)

A --------------- Y
B --------------- J
C --------------- Z
D --------------- R
E --------------- T

Lembrando que os dados não possuem relação nenhuma entre si.

Grato

William Lima

Melhor resposta

05/02/2015

Talvez seja mais indica fazer isto na aplicação.

Mas tente assim:

DECLARE  @TABELA_A  TABLE (COLUNA_A CHAR(1))
DECLARE  @TABELA_B  TABLE (COLUNA_B CHAR(1))
DECLARE  @RESULTADO  TABLE (COLUNA_A CHAR(1),COLUNA_B CHAR(1))


INSERT INTO @TABELA_A  (COLUNA_A) VALUES ('A')
INSERT INTO @TABELA_A  (COLUNA_A) VALUES ('B')
INSERT INTO @TABELA_A  (COLUNA_A) VALUES ('C')

INSERT INTO @TABELA_B  (COLUNA_B) VALUES ('Y')
INSERT INTO @TABELA_B  (COLUNA_B) VALUES ('J')
INSERT INTO @TABELA_B  (COLUNA_B) VALUES ('Z')

;with 
    CTE_A as
    (
        select 
            COLUNA_A,         
            ROW_NUMBER() OVER(ORDER BY (SELECT 1)) as RN
        from @TABELA_A
    ),
    
    CTE_B as
    (
        select 
            COLUNA_B,
            ROW_NUMBER() OVER(ORDER BY (select 1)) as RN
        from @TABELA_B
    )
    
select
    a.COLUNA_A,
    b.COLUNA_B
from CTE_A as a
full join CTE_B as b
    on b.RN = a.RN

Jothaz

Responder Citar

Outras Respostas

02/02/2015

Ronaldo Lanhellas

Tente assim:

SELECT ta.A,ta.B,ta.C, tb.X, tb.Y FROM TABELA_A ta, TABELA_B tb
Responder Citar

02/02/2015

Ronaldo Lanhellas

Tente assim:

SELECT ta.A,ta.B,ta.C, tb.X, tb.Y FROM TABELA_A ta, TABELA_B tb
Responder Citar

02/02/2015

Ronaldo Lanhellas

Tente assim:

SELECT ta.A,ta.B,ta.C, tb.X, tb.Y FROM TABELA_A ta, TABELA_B tb
Responder Citar

05/02/2015

William Lima

Pessoal Consegui, Valew!!!!
Responder Citar