• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 聯系使用Excel和SQL(1)

    發表于:2007-06-23來源:作者:點擊數: 標簽:
    下一頁 1 2 當今,許多公司都使用SQL Server來處理關于產品、服務和支持方面的數據――所有那些你能夠想象得到的數據。通常,安裝有SQL Server的公司都同時安裝有非常龐大和貴重的軟件應用程序,這些應用程序是用來從 數據庫 中插入和查找數據用的。 當這些

    下一頁 1 2 

       

    當今,許多公司都使用SQL Server來處理關于產品、服務和支持方面的數據――所有那些你能夠想象得到的數據。通常,安裝有SQL Server的公司都同時安裝有非常龐大和貴重的軟件應用程序,這些應用程序是用來從數據庫中插入和查找數據用的。

    當這些應用程序能夠確實起到一些作用的時候,并且這些程序需要在不同的情況下將數據導入到SQL Server的環境下,如何生成報表就成了一個問題。

    對于大多的用戶來說,將SQL Server中的數據創建一個報表顯示出來是非常直觀的、顯而易見的。通過使用簡單的操作,你就可以創建一個代表當前SQL Server數據的文檔給你的用戶,而你的用戶并沒有意識到這些數據是存儲在一個龐大的數據庫中的,并且有許多的數據支持著它的存在。這時,你就可以通過使用Excel電子表格來顯示更多的相關數據,下面就是如何操作的步驟:

     作者提示

    這篇文章是基于兩個軟件的――SQL Server 和 Excel。這篇文章會幫助你了解如何將這兩個軟件天衣無縫地銜接起來,來進行數據的輸出。通過這種方法,你所提供的報表和信息將幫助他們更有效地進行工作,并且可以減少用戶們求助公司DBA的頻率。

    為了明確表達這篇文章的目的,我將使用SQL Server 2000的Evaluation版和Office XP。你至少需要安裝微軟的SQL Server 的運行版本和微軟的Excel或者Office。我將使用Northwind數據庫,它是在SQL Server標準版和企業版中都包含有的數據庫。這個數據庫對于微軟的Aclearcase/" target="_blank" >ccess也是適用的

    一些小的先決條件

    大多的辦公環境都使用微軟的Office產品,所以安裝Excel應該不成問題。然而,安裝SQL Server則要花費一個大代價,并且,如果你的公司并沒有交付SQL Server的使用費用,并且也沒有意愿要交付SQL Server的使用費用,這或許是一件麻煩的事情,但是,不要擔心。微軟創建了一個桌面版本,可以免費下載使用。它可以支持更高版本的數據,但是不提供所有有關設計數據庫方面的工具。

    在Excel中創建有用的報表,首先需要進行的第一個步驟就是獲取那些每天使用Excel的人群的意見。例如,當用戶從某個特定的部門出來的時候,你可以問他幾個問題,或者尋求一些幫助;如果他們在報表或者獲取數據方面有些問題,那么,這個解決方案也許就會提供相應的解決方法。在下面的步驟中,我將創建一個快速報表給Phil,他是一個市場部的雇員,這個報表中將包括購買Sasquatch Ale的用戶信息和購買數量。

    在SQL Server中獲取數據

    在你收集完適量的信息之后,就可以開始對這些數據進行處理了。通過我的經驗,我發現創建一個Excel報表的最好的方式就是在Microsoft Query Analyzer 中創建這個報表,或者使用Office自帶的一些工具,如Microsoft Query,測試它們的有效性,而不完全依賴與它的向導。

    如果你生成的報表需要從許多數據庫表格中獲取堆積成山的數據,那么,從SQL Server中獲取數據信息就將會變得非常困難。如果你需要訪問種類繁多的數據庫表格,那么,使用Query 向導也許會是創建報表的一個好的選擇。它允許在SQL語句包括注釋,那么,在你不干的時候,你就可以讓其他人接手你的工作,或者,在某些情況下,可以接著創建一些查詢。

    報表顯示了哪些顧客購買了Sasquatch Ale,并且顯示了每個顧客購買的數量,這個報表關聯到一個查詢語句和四個數據庫表格:Customers, Orders, Products, 和Order Details。這個關系到三個表格的查詢語句也許最初看起來會有些復雜,特別是當你創建了你自己的SQL語句的時候;但是,你會發現,它并不是我們所想的那樣。

    如果你單獨查看每個元素,并且通過其它的語言將它湊合到一起,它會立即按順序排列。如果要查找顧客的信息、公司信息和聯系姓名,你就需要從Customers 表格中選擇這些信息。這個表格同時還包括了customer ID,這個ID信息就可以使得用戶按順序訪問顧客信息。

    在Orders表格中,包括順序的ID信息和customer ID。這兩個ID信息應該被看作是你選擇信息的一個方法。當你不需要顯示Orders 表格中的任何信息的時候,你必須做一個pit stop,來獲取order ID 。一旦這通過一個簡單的連接語句實現了,你就可以選擇按照每個顧客購買數量的順序排放,通過其他的連接語句,還可以按購買日期排列。

    最后一個連接語句就是關于Products表,按照姓名和產品順序排放。下面是選擇語句代碼的編寫順序:

    -- 查找定購了Sasquatch Ale 的顧客,他們定購的數量和定購日期

    -- 告知SQL Server你的查詢應該選擇的數據庫。默認選擇的是Master 數據庫

    使用northwind數據庫

    -- 創建一個選擇表格中需要列的查詢語句

    select cust.companyname, cust.contactname, orddet.quantity, ord.orderdate, prod.productname

    from customers cust inner join orders ord on cust.customerid = ord.customerid inner join [order details] orddet on ord.orderid = orddet.orderid inner join products prod on orddet.productid = prod.productid

    where prod.productname = 'Sasquatch Ale'

    上面代碼例子的輸出結果在A中顯示:

    聯系使用Excel和SQL(1)(圖一)



    這些表格按照同樣的列進行連接。例如,Customers 和 Orders表格是按照customer ID來進行連接操作的:

    inner join orders ord on cust.customerid = ord.customerid

    這些表格同樣還有它們名字的一些別名。這些別名可以使代碼變得簡單,我通常使用cust來代替customers,使用ord來代替orders。那么,當我要使用Customers表格中的contactnamn列或者Orders表格中的orderdate的時候,我就可以使用cust.contactname ord.orderdate。通過使用這種方法,可以使得查詢語句變得簡練一些。當你正在創建大量的數據查詢語句的時候,一些關鍵字可能會非常起作用。

    這個查詢語句并不簡單。它需要連接四個表格來查找需要的數據。同時,在上面的查詢代碼中,跟在Where從句后面,我可以添加order by ord.orderdate,這樣就可以使輸出結果按照定購時間順序排列。

    如何在Excel中使用它

    現在,我將會從Excel的角度看這條查詢語句。在Excel中,選擇Data ->Import External Data ->Select New Database Query。當你選擇了New Database Query 菜單選項的時候,你將看到如圖B所示的界面,它會讓你選擇一個DSN。

    聯系使用Excel和SQL(1)(圖二)



    如果沒有創建一個SQL Server的DSN怎么辦?簡單地選擇界面中右側的OK按鈕,選擇默認的信息。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>