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

Midabo   
   Á¶È¸ 8483   Ãßõ 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 4734/5686
2014-05   4981970   Á¤ÀºÁØ1
2015-12   1518055   ¹é¸Þ°¡
2009-11   8481   ¹è³ª¿Í
2017-09   8481   Á¦Ç๫»ó
2003-08   8481   ½ÅÇöÁø
2010-12   8481   Larry
2010-09   8482   ±Ç¿ë1
2015-01   8482   ¿¤¸®¾ù
2011-08   8482   ¼Òõ¹éÇâ
2003-06   8482   ¸í¸¸½Ä
2004-01   8482   ÀÌÁ¾¹Î
2009-12   8483   µÎÀ¯
2010-10   8483   ¾Æ¸§´Ù¿î³ëÀ»
2004-05   8483   ±èÈÆ
2013-08   8483   ±¸¸í¼­
2019-03   8483   ÈÄ·çÈÄ·ç
2006-05   8483   ¹Ú±âµÎ
2010-06   8483   ·Î±×¾Æ¿ô
2018-04   8483   NeOpLE
2011-05   8483   ¹Ú¼º¼®
2014-02   8484   ÀüÇö±Ô
2016-07   8484   Midabo