admin

从SQL查询中仅选择列名称

sql

例如,我在这里有此查询

SELECT DISTINCT convert(varchar(10), PickupDate ,105) AS [Pickup dates]
FROM info.dbo.A_Query_Detail AS D
INNER JOIN info.dbo.A_Query_Header AS ACQ on ACQ.ID = D.Header_ID
WHERE D.HeaderID = @HeaderID 
AND ACQ.PriceType = 'Pickup'
GROUP BY 
Adrid, convert(varchar(10), PickupDate ,105)

我想在这里得到的只是列名,而不会与上面的查询冲突。因此,我的结果将类似于:如上所述的“ Column_Date”或“提货日期”。我对
sys.tables 有一些了解,但似乎无法使其与上述代码一起使用。


阅读 226

收藏
2021-06-07

共1个答案

admin

如果您想要列的列表,有时我会使用一个临时视图:

create view _MyView as <your query here>

然后,您可以执行以下操作:

select *
from information_schema.columns
where table_name = '_MyView'

通过执行此操作,您可以获取列名称和类型。

然后,您可以执行以下操作:

drop view _MyView

(当然,视图名称不应与其他任何名称冲突。)

2021-06-07