歡迎轉載(註明出處)或直接轉貼網址也ok,但是請不要直接把內容摳走貼在別的地方~

目前分類:SQL (9)

瀏覽方式: 標題列表 簡短摘要

一直以來只知道下完 Insert Into 之後要取得新增後的 key 值要用

INSERT INTO Test ([name]) VALUES ('jack');

SELECT @@IDENTITY as id

Clipboard02  

以前小時候剛寫程式時更笨,下完Insert 之後還要下 Select + order by 去找

 

但是剛剛發現居然可以這樣用........我現在才知道實在太蠢了 @@

小雕 發表在 痞客邦 留言(1) 人氣()

你有沒有在每次瘋狂的打完 SQL 命令準備要按執行 or F5 的時候

都會看一下你準備要執行命令的 Server 到底是線上還線下 (抖~)

萬一有時候下錯地方是會死人的

 

今天又學到了一個很實用的東西,有關於 MS SQL 工具的操作 (SSMS)

就是~

 

小雕 發表在 痞客邦 留言(0) 人氣()

今天又遇到了一個功能讓我需要把資料表做橫轉直的動作

所以再來練習一次

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

假設有一個 SQL 長這樣

select a.bokno,a.title,isnull(c.title,0) as kind,isnull(c.kno,0) as kno,a.fedat

from dbo.vwSearchKids a left outer join dbo.KidBooks b on a.bokno = b.bokno 

left outer join KidBookKnd c on b.kind = c.kno

小雕 發表在 痞客邦 留言(0) 人氣()

 

最近因為出包了所以要撈訂單

但因為邏輯有點複雜覺得組SQL快要我命,所以後來寫程式解決了

但是坐我隔壁的新主管大鈞跟我說可以試試看用 CURSOR 來做

他雖然給了我範例,但我已經用程式寫完了

不過覺得很好奇所以又用他給的範例寫了一遍

但他有提醒我用這東東要非常小心......弄得不好會影響到線上服務

小雕 發表在 痞客邦 留言(0) 人氣()

 

今天想把一串 SQL 弄成 SQL view 的時候發現下面的 error

Clipboard01

"SQL文字無法顯示在方格窗格與圖表窗格中"

但其實這是同事的錯誤訊息,我的是管理工具直接整個關閉  = =

老實講看不太懂,我只知道這SQL直接run是沒問題的~

 

小雕 發表在 痞客邦 留言(0) 人氣()

每次都要上網找而且都忘記,特此筆記

 

SELECT TOP 每頁資料筆數 * 

FROM (

    SELECT *,ROW_NUMBER() OVER (ORDER BY rank) AS RowNumber FROM table 

) A

WHERE RowNumber > 每頁資料筆數 * (目前頁數 - 1)

小雕 發表在 痞客邦 留言(0) 人氣()

覺得寫的淺顯易懂~

所以拿來筆記 XD

來源出處 : http://www.wretch.cc/blog/hcu16b/10264132


1、資料庫設計與規劃

• Primary Key 欄位的長度儘量小,能用 small integer 就不要用 integer。例如員工資料表,若能用員工編號當主鍵,就不要用身分證字號。

小雕 發表在 痞客邦 留言(1) 人氣()

一般來說SQL用 in 的話順序會被打亂 

ex : 

select prodno,cname,sprice,brand  name 

from productview 

where prodno in ('567105010062','503903020005','510505040001')

出來是

Clipboard02.png  

小雕 發表在 痞客邦 留言(0) 人氣()

前言...

之前用Oracle 的時候使用 Row_Number() + PARTITION 後可以在外面加上 select * () where ....去過濾 partition 出來的東西

但是偶在 MS-SQL 試的結果會出現  接近 ')' 之處的語法不正確。


ex: 

select row_number() over(partition by a.id order by a.createdate desc) as rowno ,

小雕 發表在 痞客邦 留言(0) 人氣()