2009年5月20日

如何使用 T-SQL 語法查出某個欄位的累積值

假設有如下所示的資料表,要如何透過 T-SQL 指令計算出數量的累積值(就是最下面那個表格中,「累計庫存」黃色的欄位)?
日期 類別 單號 入庫數量 出庫數量
2009/01/20 進貨 D001 300 0
2009/01/20 進貨 D002 600 0
2009/01/21 銷貨 D003 0 -300
2009/01/21 銷貨 D004 0 -600
2009/02/02 進貨 D005 300 0
2009/02/02 進貨 D006 2400 0
2009/02/03 銷貨 D007 0 -300
2009/02/03 銷貨 D008 0 -2400
2009/02/25 進貨 D009 900 0
2009/02/26 進貨 D010 600 0
2009/02/27 銷貨 D011 0 -900
2009/02/27 銷貨 D012 0 -600


日期 類別 單號 入庫數量 出庫數量 累計庫存
2009/01/20 進貨 D001 300 0 300
2009/01/20 進貨 D002 600 0 900
2009/01/21 銷貨 D003 0 -300 600
2009/01/21 銷貨 D004 0 -600 0
2009/02/02 進貨 D005 300 0 300
2009/02/02 進貨 D006 2400 0 2700
2009/02/03 銷貨 D007 0 -300 2400
2009/02/03 銷貨 D008 0 -2400 0
2009/02/25 進貨 D009 900 0 900
2009/02/26 進貨 D010 600 0 1500
2009/02/27 銷貨 D011 0 -900 600
2009/02/27 銷貨 D012 0 -600 0

由於這個資料表有個欄位「單號」是獨一的(Unique),且後一個單號的值會比前一個單號的值還大,因此透過這個欄位,我們可以使用下面的 T-SQL 指令動態計算出「累計庫存」的數值:

SELECT 日期, 類別, 單號, 入庫數量, 出庫數量,
  (SELECT SUM(入庫數量 + 出庫數量) FROM ALEX AS ONE
    WHERE TWO.單號 >= ONE.單號) AS 累計庫存
FROM ALEX AS TWO

2009年4月24日

關於安裝 SQL Server 2008、Visual Studio 2008 SP1 的注意事項

因為 SQL Server 2008 RTM 需要用到 Visual Studio 2008 SP1 所內含的某些元件,所以於安裝 SQL Server 2008 時,就會先行檢查是否已經安裝了 Visual Studio 2008 SP1。 以下,我們分幾種狀況來討論:
  • 如果已經安裝了 Visual Studio 2008,你有下列幾種後續的操作選項:
    • 請先安裝 Visual Studio 2008 SP1,然後再安裝 SQL Server 2008。
    • 先完整移除 Visual Studio 2008,然後安裝 SQL Server 2008,接著依序安裝 Visual Studio 2008 跟 Visual Studio 2008 SP1。
    • 於安裝 SQL Server 2008 時,先不要勾選下面這 3 個選項:
      • Business Intelligence Development Studio
      • Integration Services
      • 管理工具,不論是「基本」「完整」(Microsoft 的翻譯有錯,翻成「完成」
      等到日後有需要上述 3 個選項時,再來安裝 Visual Studio 2008 SP1 跟其他的 SQL Server 2008 選項。
  • 如果沒安裝 Visual Studio 2008,當然就是先安裝 SQL Server 2008,然後依序安裝 Visual Studio 2008 跟 Visual Studio 2008 SP1。

2009年4月3日

如何在 64位元 Windows 作業系統中,開啟 32 位元的檔案總管

有些檔案總管的介面擴充程式(稱為 Shell Extension)只有推出 32 位元版本,此時如欲在 64位元 Windows 作業系統使用,必須開啟 32 位元的檔案總管才行。

啟用的方式很簡單,只需在「開始」「執行」對話方塊中,鍵入如下的指令即可:
%SystemRoot%\syswow64\explorer.exe /separate

您亦可將上面的指令,在桌面上建立成一個捷徑,並指派一個快捷鍵給該捷徑,如此一來,爾後欲使用 32 位元的檔案總管,只需按下事先指定的快捷鍵即可。

之所以需要如此操作是因為,在 64 位元 Windows 作業系統上執行的 64 位元處理程序,是無法載入某些程式功能所需的 32 位元 .dll 檔案,因此改用 32 位元的檔案總管就可以解決該問題。

2009年3月29日

僅使用 Visual Web Developer Express 2008 SP1 的開發環境,無法安裝 .NET RIA Services March '09 Preview

如果您打算開發 Silverlight 3 應用程式,也從微軟網站下載或安裝了相關的元件:

Silverlight 3 開發所需的工具或元件

當您要安裝 Microsoft .NET RIA Services March '09 Preview  時,就會出現如下所示的錯誤訊息:

The Following required components are missing:
Visual Web Developer feature for Visual Studio 2008.
錯誤訊息

奇怪了,明明就依照微軟所要求的,安裝了必要的元件,為什麼還會出錯呢?

因為目前 Silverlight 3 相關的開發工具還是處於 Beta / Preview 階段,所以如果您現在執意要使用 Microsoft .NET RIA Services March '09 Preview ,請改用 Visual Studio 2008 with SP1 (要記得勾選 Visual Web Developer 功能)來開發,不然就等到下個版本(CTP)吧!