簡體   English   中英

在Access 2003和SQL Server 2000中替換輸入行

[英]displace input row in Access 2003 and SQL Server 2000

Access 2003中的輸出:

ID | 描述 數量| 標題| 奧比
--- ---------------- ------------------------------- -------------------

17 | 6 | 253000.00 | |
18 | 7 | 330000.00 | |
19 | 1 | 340000.00 | 8414 | 69327
22 | 2 | 120000.00 | 8414 | 69344
23 | 3 | 615000.00 | 8414 | 69327
24 | 4 | 320000.00 | 8414 | 69327
25 | 5 | 809500.00 | 8414 | 69327

查詢:

SELECT      TVFundBillDetail.ID ,
            TVFundBillDetail.HID ,
            TVFundBillDetail.Description ,
            TVFundBillDetail.Quantity ,
            TVFundBillDetail.Title ,
            TVTitle.Name TitleName ,
            Obj ,
            TVAllObjects.Name ObjName
     FROM   TVFundBillDetail
            LEFT OUTER JOIN TVTitle ON TVFundBillDetail.Title = TVTitle.Code
            LEFT OUTER JOIN TVAllObjects ON TVFundBillDetail.Obj = TVAllObjects.Code

問題:輸入行的順序顯示在描述列中。 當title和obj為null時,將替換輸入行的序列。 應用程序是Access 2003,DBMS是SQL Server 2000

可能有很多方法可以實現這一目標。 對於Access,您可以在查詢中簡單地使用Nz() ,如下所示:

...
Nz(TVFundBillDetail.Title, "    ")
...

如果TitleNULL ,則將獲得4個空格(或者,您可以根據需要使用"0000" )。

對於SQL Server,等效功能是COALESCE()

...
COALESCE(TVFundBillDetail.Title, "    ")
...

如果您將該查詢用作普通的Qccess查詢,則第一個查詢將起作用。 如果您使用傳遞查詢或公開SQL Server視圖,則第二個視圖將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM