合作

資訊業就是那麼小,相遇總是會到…

現在工作遇到的廠商,剛好這間公司兩年前有去面過試,
而且最近還一直來電話問我有沒有想換工作…

就是這麼剛剛好…

可能是聽到我想休假,想離職,他們就一直想拉我過去,
「我要赤化這個地方」他們老是這們說,
但在我多方打聽之後,他們在業界的名聲並不好,
所以對他們我也只是打哈哈.

最近更聽到年終獎金居然分期付款…年前先給2/3,
之後的年後再給….

哇!! 還好我沒答應要去.

心機

以我好來好去的鄉愿性格,是不喜歡對人擺出壞臉色,
但這位同事這樣偷放一槍,完全是採到了我的點。

老實說,我不太認同這位前輩的工作態度及方式,
但礙於他是前輩,適度的給予尊重也是正常的,
反正只要不要影響到我的工作就好。

一天,主管和我說,
「Jason呀!! 你就早一點到,不要讓客戶一早打電話來找不到人」

我錯在先,當然回答「OK」,
早點出門+不要在電腦前待太久一定是沒問題的,
此時在旁邊的他冒出了一句,「客戶已經不只抓到一次了」

聽畢,我的第一念頭「不只一次」,那你是不會說一下嗎?
「先前完全沒聽說客戶有一早就找我一事」
反過來想,也許我已被挖了很多洞而不自知,
日後小心為妙!!

歷練

過去經歷的一切苦難,或許是美好未來的必經路程,
不經一番寒徹骨,焉得梅花撲鼻香,你說是吧!!

感情如此,工作也是如此,只是不知持續到何年何月??

心若軟,肝就硬!!

這是今天發生在工作上的事….

等了好久…總算找來幫我解IR單的人,
我微小的請求總算被聽見了.
針對這位人選我有二個要求,
一是要熟SQL,而不是會SQL而已,
二是要能USER好好溝通,不會老嗆USER….
(現在想來我開的這兩個條件好像都是針對專案的某人….哈!!)

今天人力公司會先來一位面試,由我準備考題測驗,
題目不難,我相信有做過DW的應該都會,
不會就要打屁股囉!!

題目大意是,
第一題考的是從一堆資料中分群組小計及計算平均值;
第二題考的是RANK的語法.

題目不難,但那位人兄的答案不能說不對,只是效能很差,
第一題先在FROM的部分下了很多SELECT把單一群組的COUNT、SUM出來,
然後再SELECT出來,語意如下:

SELECT A1.某小計, A2.某金額, B1.某小計, B2.某金額
FROM
(SELECT COUNT(*) FROM X WHERE 條件A) A1
(SELECT SUM(金額) FROM X WHERE 條件A) A2
(SELECT COUNT(*) FROM X WHERE 條件B) B1
(SELECT SUM(金額) FROM X WHERE 條件B) B2
……多個群組

多次對同個TABLE做SELECT多次…..
大家應該會有更好的做法,
要是我會用一個SELECT以及CASE WEHN來計算各個群組.

第二題呢? 他好像不知有RANK這個指令,
因此寫了一長串的CURSOR針對每筆資料作比對,然後INERT到TEMP TABLE.

我也不能說不對…..只能說這個作法…..
果然之前是做AP的來著.

公司PM問我這個人OK嗎?
我不知哪來的張老師悲天憫人性格發作…
「寫出來的SQL效能不好,應該之前沒學過TUNE效能」
「先列入觀察,看之後點不點的通吧!!」
「只是,還是會花到我的時間」

公司PM說「這樣怎麼可以? 不是要找一個能馬上用的人嗎?」
「不行就說,退就好」

客戶那的PM也說話了「你確定那個人OK? 之後如果又要增加你工作量的話,
也不會付(MANDAY)的錢喔!!」

俗話說見面三分情….「叫他走人」這句話我說不出口呀!!

「要不然就由我這來做黑臉,說這人不OK好了,叫他下午就回去」
「不是人力公司來幾個我們都照收,要篩選的.」
客戶PM這麼說.

但真正讓我下定決心的是,在我請他改良考題SQL效能時,
他把COUNT(*)寫在CASE WHEN裡面了……

這已經不是點不點的通的問題.
最後,我把這難事交給主管們去溝通….

要害他沒工作了….那時心裡只想著這個…..
我果然是個好人(自己給自己發卡,太絕了吧!!)

現在想來,又不是女的,我對他那麼好幹嘛!!
如果到時我工作量增大,才真得是自做自受.

“如果以後找來又請不走怎麼辦?”
這又打到我一個痛點….

我爸聽到我故事後說的最中肯,
“同樣都是領老闆的錢,但你卻找了個不OK的人來,
就是對不起自己的老闆,這樣對嗎?”

最後還是請他走人了啦!!
下一位請上前

清除 SSMS 登入資訊

原文網址:http://kareslion.blogspot.com/2011/08/ssms.html

請將下面路徑中的「Sqlstudio.bin」更名或刪除掉

  • WIN7:C:\Users\’Your_Account_Name‘\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell
  • WINXP:C:\Documents and Settings\’Your_Account_Name‘\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell
  • WinServer 2003 + SQL2005:C:\Documents and Settings\’Your_Account_Name\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell
  • WinServer 2008:C:\Users\’Your_Account_Name‘\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell

無趣

說實話,現在的專案有點無趣,挑戰不足吧!!
但好處就是能不加班,
想當初”能休息”、”能正常上下班”,不都是我要求的嗎?
會面臨這情況,無可避免.

交接這兩個星期下來,事情雖雜但都不難,
只有幾個要注意的點,因卓兄常在狀況外,所以IVAN一直提醒著我,
「你的人力主要是放在報表這…不要花太多時間在其他方面」

可能他也看出我常會因為某先事而忘了事情的先後緩急吧!!

使用 PIVOT 和 UNPIVOT

http://msdn.microsoft.com/zh-tw/library/ms177410.aspx

簡單來說就是把報表由直轉橫。

PIVOT的語法分三層,用三個步驟來使用。
第一步驟:先把要PIVOT的原始資料查詢(Query)好。
第二步驟:設定好PIVOT的欄位與方式。
第三步驟:依PIVOT好了的資料,呈現結果。

EX:

LogTime  StatusCode Cnt
-------- ---------- -----------
06:40:05 200        5
06:40:05 302        1
06:40:06 304        1
06:40:06 200        10
06:40:07 200        5
06:40:07 500        3
06:40:08 200        11
06:40:08 404        1

變成

LogTime  200         302         304         401         404         500
-------- ----------- ----------- ----------- ----------- ----------- -----------
06:40:05 5           1           NULL        NULL        NULL        NULL
06:40:06 10          NULL        1           NULL        NULL        NULL
06:40:07 5           NULL        NULL        NULL        NULL        3
06:40:08 11          NULL        NULL        NULL        1           NULL

另外附上相關的討論:
http://blog.darkthread.net/post-2007-07-20-tips-using-pivot-in-sql-2005.aspx