前言:這篇是真的脫的很久,都不知道幾天了還在這,顯然卡的有點久
●因為以上太過雜亂,所以我還是找了些重點出來一下了
Excel :
1.我的指令內,我想讓兩個以上分開的數字遞增,作法::
-因為每一個column只會遞增最後面的數字,所以我們只要分成,你要幾個數字遞增,就 分幾個column,然後在最後一個colum彙整,請參考2
2.如何將不同column的字串相連呢::
-使用"&",例如, = A1&B1 ,那如果我要在後面加上分號或其他符號呢,只要像這樣 =A1&A2&";",請務必使用雙引號喔!!
●加上一些,常用到的shortcuts(快捷鍵)::
F12 = 另存新檔,輸入檔名後,只要按下TAB,然後要另存的檔案抬頭,例如CSV,你只要按 TAB後加上C他就會直接選去CSV檔案,
Ctrl + w = 關閉檔案
SQLITE and SQL CommandS:
1.請注意,SQLITE沒辦法作到,Update ...Group by,我的解決方式,比較複雜要分兩段
2.包含一個群組,內有4等級,如果我今天要只相加兩種的作法
3.只取群組名稱叫A群組內,的M分類,並且多筆的作法
4.以下有興趣的話,可以看一下Original Commands
1.我需要把每個occ_class全組內的P所有數值加上M上,另一組是把P成上0.5之後再加上M
2.使用 sqlite
3.作工十分困難 = =,想爆我的頭 因為沒這麼簡單
Tips::
1.因為會有很多的表格所以,指令某些地方都需要加1,本來還想不通excel怎麼這麼難用,我要怎麼處理例如(update ms63012 set pkuid = pkuid - 2) 如果再excel我想要遞增6301~6302~6303,要怎麼作呢??,其實我也是看到別人的作法,就把"update ms6301 "分開處理這樣下拉就會自動遞增了,然後後面的"2 set pkuid = pkuid-2" ,做完遞增之後,在第三行 (=a1&b1&";")打上這樣,他就會連在一起了,後面的";"是因為知我在winCMD只要我把這些指令貼上去就會全部自己執行,但是重點是要有分號!!
Standard Process::
1.這邊的重點是在,我要如何只選出M+P呢,而且我還需要在單一全組內,藍色字是重點
CREATE TABLE MS63012 AS select PKUID,TOWN_CODE,OCC_CLASS,DESIGNLEVL,SUM(W1),SUM(S1L),SUM(S1M),SUM(S1H),SUM(S3),SUM(C1L),SUM(C1M),SUM(C1H),SUM(PCL),SUM(RML),SUM(RMM),SUM(URML),SUM(SRC1L),SUM(SRC1M),SUM(SRC1H) FROM MS6301P0 WHERE DESIGNLEVL = 'M' OR DESIGNLEVL = 'P' GROUP BY OCC_CLASS
2.先把要更改的刪除掉,這是計算後然後要塞回去的空位
delete from ms6301P0 where designlevl = 'M'
3.不要問為什麼,我也不知道GROUP出來 為什麼就是P(我想可能都以最後面來作顯示,但是我要位置的正確性) pkuid -2 就會是正常原來的id
update ms63012 set pkuid = pkuid - 2
4.把計算過後designlevl 改成M ,,才是我需要的
update ms63012 set designlevl = 'M'
5.這裡我也找了很久,一定要把欄位都加上去,不然會出現錯誤
insert into ms6301p0 (PKUID,TOWN_CODE,OCC_CLASS,DESIGNLEVL,W1,S1L,S1M,S1H,S3,C1L,C1M,C1H,PCL,RML,RMM,URML,SRC1L,SRC1M,SRC1H) select * FROM MS63012
6.把P清空都為0
UPDATE MS6301P0 SET W1 = 0 ,S1L = 0 ,S1M = 0 ,S1H = 0 ,S3 = 0 ,C1L = 0 ,C1M = 0 ,C1H = 0 ,PCL = 0 ,RML = 0 ,RMM = 0 ,URML = 0 ,SRC1L = 0 ,SRC1M = 0 ,SRC1H = 0 WHERE DESIGNLEVL = 'P'
例外教學::
1.因為學長說只需要某一些表格的改變,其他維持在原來的數值,我該怎麼作呢??
第一步::就事先想想我該怎麼作,再來下手...真是廢話...想吧
1.先找到我要保存的rows
select * from ms63012 where occ_class = 'Com1' or occ_class = 'Com2' or occ_class = 'Com3' or occ_class = 'Com4' or occ_class = 'Com5' or occ_class = 'Commercial'
delete from new6301 where (occ_class = 'Com1' and designlevl = 'M') or (occ_class = 'Com2' and designlevl = 'M') or (occ_class = 'Com3' and designlevl = 'M')or (occ_class = 'Com4' and designlevl = 'M') or (occ_class = 'Com5' and designlevl = 'M') or (occ_class = 'Commercial' and designlevl = 'M')
insert into new6301 (PKUID,TOWN_CODE,OCC_CLASS,DESIGNLEVL,W1,S1L,S1M,S1H,S3,C1L,C1M,C1H,PCL,RML,RMM,URML,SRC1L,SRC1M,SRC1H) select * FROM MS63012 where occ_class = 'Com1' or occ_class = 'Com2' or occ_class = 'Com3' or occ_class = 'Com4' or occ_class = 'Com5' or occ_class = 'Commercial';
Reference::
http://stackoverflow.com/questions/4291165/sqlite-copy-data-from-one-table-to-another
http://office.microsoft.com/zh-tw/excel-help/RZ006183133.aspx?section=11
Shortcuts:
http://office.microsoft.com/zh-tw/excel-help/HP010073848.aspx
沒有留言:
張貼留言