看板 Database 關於我們 聯絡資訊
只求概念 因為SAS SQL語法會稍微的不一樣 [問題敘述]: 格式大概長這樣 想從資料庫裡面抓的學號格式改成常見的格式 學號 切成 不需要 A1 B1 C1 00280061 -> 00 28 00 61 A1與B1轉換成學號的格式是這樣 00~09 -> 0~9 A~Z -> 10~36 C1則是完全取用 A1_TRANS B1_TRANC C1 所以這樣轉換後 28->S 00->0 61->61 合併起來之後 會變成S061 目前我是做了另外一張轉換表欄位分別是 A1 A1_TRANS 00 0 01 1 . . . . . . 28 S . . . . 36 Z 想請問有沒有辦法用轉換表去把A1 B1轉換後 創出新的表格 目前是把切開的學號表跟轉換表INNER JOIN 然後用WHERE抓 但會出現奇怪的東西 [程式範例]: 雖然張貼程式很可怕,但基本上有些程式還是要張貼才能解決 PROC SQL; CREATE TABLE WORK.TEST1 AS SELECT '學號'n, Substr('學號'n, 3,2) as 'A1'n, Substr('學號'n, 5,2) as 'B1'n, Substr('學號'n, 7,2) as 'C1'n FROM LASRLIB.'學號_TEST'n ; QUIT; /*inner join之後在 把需要的轉換取出來*/ proc sql; CREATE TABLE WORK.TEST2 AS select '學號'n, catx('','A1_TRANS'n,'B1_TRANS'n,'C1'n) as '轉換過的學號'n from 轉換表,TEST1 where TEST1.A1=轉換表.A1 and TEST1.B1=轉換表.A1 ; quit; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.254.125.244 ※ 文章網址: http://www.ptt.cc/bbs/Statistics/M.1409138261.A.14C.html ※ 編輯: MOONY135 (111.254.125.244), 08/27/2014 20:01:57
GoalBased: 奇怪的東西就是出在join那邊吧..是甚麼呢.. 08/27 20:51
MOONY135: 要明天才可以貼圖請問我想法有錯誤嗎 08/27 21:41
GoalBased: 樓下那個做法可以直接來拿來用了= = 08/27 22:41