簡體   English   中英

如何在SQL Server 2008查詢的結果標題中顯示表名

[英]How can I display tablenames in resultheader of SQL Server 2008 query

我正在分析一個大型查詢,該查詢在不同的表上有很多聯接,所有聯接都在聯接中得到別名。 有些表用不同的別名連接了兩次。

例如,此答案中的代碼:

SELECT *
FROM Blank b
INNER JOIN Ticket t ON b.BlankCode = t.Blank_BlankCode
INNER JOIN MCO_Blank mb ON b.BlankCode = mb.Blank_BlankCode
INNER JOIN Purchase p1 ON  t.PurchaseID = p1.PurchaseID
INNER JOIN Purchase p2 ON mb.PurchaseID = p2.PurchaseID
INNER JOIN Payment pa1 ON t.PurchaseID = pa1.PurchaseID
INNER JOIN Payment pa2 ON mc.PurchaseID = pa2.PurchaseID
WHERE pa1.Status = "Paid";

我希望結果網格在列中顯示表別名。 除了對select每一列使用別名之外,還有其他方法嗎?

因此,我的列標題應如下所示:

b.BlankTypeCode|b.BlankCode|pa1.Amount|pa1.Type|p1.PurchaseDate| pa2.DatePaid

代替

BlankTypeCode|BlankCode|Amount|Type|PurchaseDate|DatePaid

用這個

SELECT b.BlankTypeCode AS [b.BlankTypeCode]
, b.BlankCode AS [b.BlankCode]
, pa1.Amount AS [pa1.Amount]
, pa1.Type AS [pa1.Type]
, p1.PurchaseDate AS [p1.PurchaseDate]
, pa2.DatePaid AS [pa2.DatePaid]

FROM Blank b
INNER JOIN Ticket t
ON b.BlankCode = t.Blank_BlankCode
INNER JOIN MCO_Blank mb
ON b.BlankCode = mb.Blank_BlankCode
INNER JOIN Purchase p1
ON  t.PurchaseID = p1.PurchaseID
INNER JOIN Purchase p2
ON mb.PurchaseID = p2.PurchaseID
INNER JOIN Payment pa1
ON t.PurchaseID = pa1.PurchaseID
INNER JOIN Payment pa2
ON mc.PurchaseID = pa2.PurchaseID
WHERE pa1.Status = "Paid";

您將不得不為select查詢中的每一列加上別名,但是有一種更快的方法。 將鼠標光標b.BlankCode之前,然后在按住Alt鍵的同時 ,單擊並拖動以在pa2.DatePaid之后向下選擇幾個空格。

Ctrl + C

現在,在b.BlankCode之后輸入幾個空格(以確保您超出了最突出的位的垂直列,然后按Ctrl + V

這是為列創建別名的快速方法,您也可以通過這種方式鍵入多個列。

不建議使用空格或Dot(。)或任何其他特殊字符作為列名

但是,如果需要,您可以像這樣更改它:

像這樣更改代碼:

    SELECT 
b.BlankTypeCode as "b.BlankTypeCode"
    , b.BlankCode as "b.BlankCode "
    , pa1.Amount as "pa1.Amount"
    , pa1.Type as "pa1.Type"
    , p1.PurchaseDate as "p1.PurchaseDate"
    , pa2.DatePaid as "pa2.DatePaid"

    FROM Blank b
    INNER JOIN Ticket t
    ON b.BlankCode = t.Blank_BlankCode
    INNER JOIN MCO_Blank mb
    ON b.BlankCode = mb.Blank_BlankCode
    INNER JOIN Purchase p1
    ON  t.PurchaseID = p1.PurchaseID
    INNER JOIN Purchase p2
    ON mb.PurchaseID = p2.PurchaseID
    INNER JOIN Payment pa1
    ON t.PurchaseID = pa1.PurchaseID
    INNER JOIN Payment pa2
    ON mc.PurchaseID = pa2.PurchaseID
    WHERE pa1.Status = "Paid";

暫無
暫無

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

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