SQL Å×ÀÌºí º´ÇÕ¿¡ ´ëÇØ ¿©Âã½À´Ï´Ù.

Midabo   
   Á¶È¸ 8493   Ãßõ 0    

 안녕하세요

여기 DB 전문가들이 많으셔서 여쭙습니다.


서로 다른 테이블

Table1

ID      Name      Age

1       Kim         48

2       Lee        32


Table2

ID      Name      Age      Height

3       Park        35         174

4       Hong        34        182


을 합쳐서

ID      Name      Age      Height

3       Park        35         174

4       Hong        34        182

1       Kim         48

2       Lee        32


이렇게 만들고 싶은데요, 구조가 같을 때는 UNION ALL 을 사용해서 뷰를 잘 쓰다가

새로운 테이블에 컬럼이 많이 붙었습니다. (컬럼수가 많아서 수작업은 엄두가 안나는 상황)


이경우 컬럼수가 많은 테이블에 컬럼수가 적은 테이블 데이터를 합칠 수 있는 쿼리가 궁금합니다.


미리 감사드립니다.


ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
ȸ¿øK 2016-07
insert into Table B ( Name, Age) select Name, Age from table A
http://www.w3schools.com/sql/sql_insert_into_select.asp
ĵÀ§µå 2016-07
ȸ¿øk´Ôó·³ insert¸¦ ÇϽðųª
Union all ·Î Ä÷³À» Ãß°¡ÇÏ´Â ¹æ¹ý ¿Ü¿¡´Â ¾øÀ» °Í °°³×¿ä.

´Ù¸¸ ¾öµÎ°¡ ¾È³ª½Å´Ù´Â Ä÷³ ºÎºÐ¿¡ ´ëÇؼ­´Â
oracle, mssql, mysql  ÀüºÎ ƯÁ¤ Å×ÀÌºí¿¡¼­ Ä÷³ À̸§À» »Ì¾Æ³»´Â Äõ¸®°¡ °¡´ÉÇÕ´Ï´Ù.  ±×°É ½ÇÇàÇؼ­ ½±°Ô Ä÷³¸íµéÀ» »Ì¾Æ³»¸é Äõ¸® ¸¸µå´Âµ¥.µµ¿òÀÌ µË´Ï´Ù.
ÇÁ·Î±×·¥À¸·Îµµ ´ç¿¬È÷ °³¹ß°¡´ÉÇÏ°í¿ä
ȸ¿øK 2016-07
Table A¸¦ export Çؼ­ B¿¡ import Çصµ µÉ°Å °°¾Æ¿ä.
Å×½ºÆ®´Â ¾ÈÇغÃÁö¸¸...
     
¹Ú»óÀÏ 2016-07
ÀÌ°Ç Ä÷³ ¼ø¼­°¡ ¾È¸Â¾Æ¼­ ¾ÈµÉ °Í °°½À´Ï´Ù.
          
ȸ¿øK 2016-07
http://stackoverflow.com/questions/12834218/taking-table-data-dump-with-column-name
column nameÀ» ³Ö¾î¼­ export ÇÏ´Â ¹æ¹ýµéÀÌ ÀÖ¾î¿ä.
¿ÜºÎ·Î ¿Å±â°Å³ª ÇÒ ¶§´Â column nameÀ» ³Ö¾î¾ß ÆíÇÕ´Ï´Ù.
¹Ú»óÀÏ 2016-07
¹æ¹ý1)
toad°°Àº toolÀ» »ç¿ëÇϽøé ÇØ´ç Å×ÀÌºí¿¡¼­ select Ä÷³ ¸®½ºÆ® from table2 °°Àº ¹®ÀåÀ» ÀÚµ¿ »ý¼ºÇØ ÁÖ´Â ±â´ÉÀÌ ÀÖ½À´Ï´Ù.
±×°É ÀÌ¿ëÇϼż­ ȸ¿ø K´Ô ¹æ½Ä´ë·Î sqlÀ» ±¸¼ºÇϼŵµ µÇ±¸¿ä.

¹æ¹ý2)
¿À¶óŬÀÎ °æ¿ì´Â ¾Æ·¡¿Í °°ÀÌ Çϼŵµ µË´Ï´Ù.
insert ¹®ÀåÀ» ¸¸µé¾îÁÖ´Â sqlÀÔ´Ï´Ù.
-------------------------------------------------------
select REGEXP_REPLACE(REGEXP_REPLACE('insert into ' || table_name || ' (' || cols || ') ' || 'select ' || cols || ' from table1;', '(,*)(\))', '\2'), '(,*)( from)', '\2') sql
from  (
select min(table_name) table_name,
                min(decode(column_id,1,column_name)) || ',' ||
                min(decode(column_id,2,column_name)) || ',' ||
                min(decode(column_id,3,column_name)) || ',' ||
                min(decode(column_id,4,column_name)) || ',' ||
                min(decode(column_id,5,column_name)) cols    <!-- Ä÷³ÀÇ °¹¼ö ÀÌ»óÀ¸·Î ¼ýÀÚ¸¦ ´Ã·ÁÁָ鼭 ÀÛ¼º
        from all_tab_columns
where table_name  = 'TABLE2' -- <-- Àú´Â TABLE2 ´ë½Å¿¡ AUDIT_ACTIONS Å×À̺íÀ» ½è½À´Ï´Ù.
  ) a

Àú°É µ¹¸®¸é ¾Æ·¡¿Í °°Àº INSERT ¹®ÀåÀÌ ¸¸µé¾îÁý´Ï´Ù.
----------------
insert into AUDIT_ACTIONS (ACTION,NAME) select ACTION,NAME from table1;

Á» º¹ÀâÇÏ°Ô ´À³¥ ¼ö ÀÖ°ÚÁö¸¸ ÂüÁ¶Çϼ¼¿ä.
È®½ÇÈ÷ ¿©±â¿£ ¼ûÀº °í¼öµéÀÌ ...¤¾¤¾
NeOpLe 2016-07
±»ÀÌ ±×·¯Áö ¾Ê¾Æ µÇ¸é view ¸¦ ¸¸µé¾î¼­ »ç¿ëÇصµ µÉ µí Çϳ׿ä.
     
Àá±ñ¸¸ ÇÊ¿äÇÑ °Å¶ó¸é ±×°Ô ³ªÀ»¼öµµ Àְڳ׿ä.
Àϱ¹ 2016-07
Ä÷³ÀÌ ÀûÀº Å×ÀÌºí¿¡ °ø°¥ Ä÷³À» ¸¸µé¾î ÁÖ½Ã¸é µÇ°Ú³×¿ä. ^^
Ä÷³ÀÌ ¸¹´Ù¸é ¾Æ·¡¿Í °°ÀÌ VIEW·Î ¸¸µé¾î »ç¿ëÇÏ½Ã¸é µË´Ï´Ù.

CREATE VIEW TABLE_ALL
AS SELECT ID
    , NAME
    , AGE
    , HEIGHT
  FROM (
SELECT ID
    , NAME
    , AGE
    , 0 AS HEIGHT
  FROM TABLE1
UNION ALL
SELECT ID
    , NAME
    , AGE
    , HEIGHT
  FROM TABLE2
      );
Midabo 2016-07
¿©·¯ ÀÇ°ßµé °¨»çÇÕ´Ï´Ù.  ÀÌ°Í Àú°Í ½ÃµµÇغ¸µµ·Ï ÇÏ°Ú½À´Ï´Ù!


QnA
Á¦¸ñPage 2280/5687
2015-12   1530095   ¹é¸Þ°¡
2014-05   4994158   Á¤ÀºÁØ1
2017-01   13068   È­ÀÌÆ®º¸µå
2019-06   4043   ±×¸°
2023-09   1190   ¹Ì´ã
2017-02   4794   ÀÓµÎȯ
2018-04   5305   ½Öcpu
2010-07   8221   ¹é½Âö
2022-02   4392   ±è¿µ±â
2017-02   4889   Win31
2022-02   1992   ¿ì¹¶
2014-12   4706   ½Ã»ç´Ï
2018-04   4180   ÀÌ¿µ±Ô
2020-09   2250   »ßµ¹À̽½ÇÄÀÌ
2010-08   12103   ¼±Ã¶
2013-07   11746   ±èÁø¿µJK
2020-09   3578   ¼­¿ïI±èµ¿¼ö
2017-02   6369   ½ÅÀº¿Ö
2018-05   3676   ±è°Ç¿ì
2014-12   4076   ±è°Ç¿ì
2010-09   12982   ¿ì¾ß³ë
2018-05   3912   ½½·çÇÁ