討論區快速選單
知識庫快速選單
討論區最近新進100則主題 從零開始,五個月變身程式設計師
[ 回上頁 ] [ 討論區發言規則 ]
Oracle SQL 將兩個資料表合併,並加入欄位與固定值
更改我的閱讀文章字型大小
作者 : mvp2121(mvp2121)
[ 貼文 2 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/11/18 上午 10:17:26
小弟不才,要煩請大大幫忙寫點 oracle 的 sql 語法啦 ∼

(以下 SQL 語法是要包在一隻 oracle procedure 裡的)
想將同一個資料庫裡(testDB)的兩張資料表(table_A、table_B)合併,
此外還要在合併過後的資料表(table_C)裡加入新欄位(E)與固定的值(table_A 在 E 欄位填入 TW;table_B 在 E 欄位填入 US)

table_A (資料表A、B 欄位名稱都相同)
欄位 A B C D
  值  ㄅ ㄅ ㄅ ㄅ
  值  ㄆ ㄆ ㄆ ㄆ
  值  ㄇ ㄇ ㄇ ㄇ


table_B
欄位 A B C D
  值  ㄉ ㄉ ㄉ ㄉ
  值  ㄊ ㄊ ㄊ ㄊ
  值  ㄋ ㄋ ㄋ ㄋ


合併過後
table_C(新增欄位 E 並自動在 table_A 值的 E 欄位填入 TW;table_B 值的 E 欄位填入 US)

欄位 A B C D E
  值  ㄅ ㄅ ㄅ ㄅ TW
  值  ㄆ ㄆ ㄆ ㄆ TW
  值  ㄇ ㄇ ㄇ ㄇ TW
  值  ㄉ ㄉ ㄉ ㄉ US
  值  ㄊ ㄊ ㄊ ㄊ US
  值  ㄋ ㄋ ㄋ ㄋ US

希望有大大知道我想表達什麼,
小弟只知道表格合併要用到 join 語法
但如何新增新欄位與故定值就 ∼ 困擾啦 !!

懇請大大出手相救啦 !!!
作者 : td33(0&1)
[ 貼文 29 | 人氣 1787 | 評價 80 | 評價/貼文 2.76 | 送出評價 8 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/11/18 下午 08:08:32
--以下語法參考看看,希望有幫助
select a.a,a.b,a.c,a.d,'TW' e
from table_a a
union all
select b.a,b.b,b.c,b.d,'US' e
from table_b b
;
作者 : mvp2121(mvp2121)
[ 貼文 2 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/11/20 上午 09:31:11
有大大會包進 procedures 嗎!?

我用 create table as select 的方式

但一直出現 PLS-00103 發現了符號 'TW'
作者 : td33(0&1)
[ 貼文 29 | 人氣 1787 | 評價 80 | 評價/貼文 2.76 | 送出評價 8 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/11/20 下午 03:52:19
CREATE or REPLACE
PROCEDURE P_DDL IS
  WK_COMM VARCHAR2(255);
  WK_I NUMBER;
  WK_J NUMBER;
BEGIN
  --參考看看,希望有幫助
  WK_COMM :='create table table_c as
     select a.a,a.b,a.c,a.d,'TW' e
     from table_a a
     union all
     select b.a,b.b,b.c,b.d,'US' e
     from table_b b';
  WK_I := DBMS_SQL.OPEN_CURSOR;
  DBMS_SQL.PARSE(WK_I,WK_COMM,DBMS_SQL.NATIVE);
  WK_J := DBMS_SQL.EXECUTE(WK_I);
  DBMS_SQL.CLOSE_CURSOR(WK_I);
  DBMS_OUTPUT.PUT_LINE('OK');
EXCEPTION
  WHEN OTHERS THEN
     DBMS_SQL.CLOSE_CURSOR(WK_I);
     DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
/
 板主 : 徵求中
 > Oracle - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Oracle - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Oracle
1 Ricky 3260 
2 HKLN.net 1650 
3 falcon 300 
4 Leon Chou 230 
5 180 
6 sunnychen 100 
7 凡人 90 
8 SAP 80 
9 萬惡我為首 80 
10 阿德 80 
Oracle
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2017 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875