Table 1
| ABC | DEF |
|---|---|
| GS | PM |
| BS | PK |
Table 2
| ABC | DEF |
|---|---|
| YZ | TT |
| UG | KK |
Need output
| ABC | DEF |
|---|---|
| GS | PM |
| YZ | TT |
| BS | PK |
| UG | KK |
So please help me sql query
Advertisement
Answer
table1:
| Azbuka | Def |
|---|---|
| A1 | D1 |
| A2 | D2 |
| A3 | D3 |
| A4 | D4 |
table2:
| Azbuka | Def |
|---|---|
| F1 | H1 |
| F2 | H2 |
| F3 | H3 |
| F4 | H4 |
DECLARE @max INT
select @max = count(*) from table1
;WITH CTE AS (
SELECT 1 num
UNION ALL
SELECT num+1
FROM CTE
WHERE num<@max
)
SELECT t1.* FROM CTE CC
inner join
(
Select
ROW_NUMBER() OVER(ORDER BY id ASC) AS RNum,
Azbuka,
Def
from table1
union all
Select
ROW_NUMBER() OVER(ORDER BY id ASC) AS RNum,
Azbuka,
Def
from table2
) t1 on t1.RNum = CC.num
Result:
| Azbuka | Def |
|---|---|
| A1 | D1 |
| F1 | H1 |
| A2 | D2 |
| F2 | H2 |
| A3 | D3 |
| F3 | F3 |
| A4 | D4 |
| F4 | H4 |