如何在 SQL Server 2008 查询的结果标题中显示表名
How can I display tablenames in resultheader of SQL Server 2008 query
我正在分析一个大型查询,该查询在不同的 table 上有很多联接,所有联接都在联接中获得别名。一些 table 以不同的别名连接了两次。
例如 answer 中的代码:
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";
我希望我的结果网格在列中显示 table 别名。除了为 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";
It is not recommended using blank spaces or Dot(.) or any other special charecters is column names
但如果您需要,您可以这样更改它:
像这样更改代码:
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 键 ,单击并拖动到 select 到 pa2.DatePaid
之后的几个空格.
按Ctrl + C
。
现在在b.BlankCode
后输入几个空格(确保你已经过了最突出位的垂直列,然后按Ctrl + V
这是为您的列创建别名的快速方法,您也可以通过这种方式在多个列中键入内容。
我正在分析一个大型查询,该查询在不同的 table 上有很多联接,所有联接都在联接中获得别名。一些 table 以不同的别名连接了两次。
例如 answer 中的代码:
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";
我希望我的结果网格在列中显示 table 别名。除了为 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";
It is not recommended using blank spaces or Dot(.) or any other special charecters is column names
但如果您需要,您可以这样更改它:
像这样更改代码:
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 键 ,单击并拖动到 select 到 pa2.DatePaid
之后的几个空格.
按Ctrl + C
。
现在在b.BlankCode
后输入几个空格(确保你已经过了最突出位的垂直列,然后按Ctrl + V
这是为您的列创建别名的快速方法,您也可以通过这种方式在多个列中键入内容。