可能重复:
SQL exclude a column using SELECT * [except columnA] FROM tableA?
我有下面的查询,我想从结果中排除列RowNum,我怎么做呢?
SELECT *
FROM
(SELECT
ROW_NUMBER() OVER ( ORDER BY [Report].[dbo].[Reflow].ReflowID ) AS RowNum, *
FROM
[Report].[dbo].[Reflow]
WHERE
[Report].[dbo].[Reflow].ReflowProcessID = 2) AS RowConstrainedResult
WHERE
RowNum >= 100 AND RowNum < 120
ORDER BY
RowNum谢谢。
发布于 2012-02-20 08:59:04
在查询中不指定列名被认为是错误的做法。
您可以将数据推入#temp表,然后更改该#temp中的列以删除列,然后选择* FROM #temp。
这将是无效的,但它会得到你想要的结果。但是,在默认情况下,最好采用指定所需的所有列的方式。如果有人修改了您的初始表,即使使用上面的push #temp方法,您最终也会得到不同的列。
发布于 2012-02-20 08:58:48
不要使用*,但是给出你感兴趣的领域。就这么简单。使用"*“是不好的做法,因为顺序是没有定义的。
发布于 2012-02-20 09:14:51
因为您希望根据RowNum的值对结果排序,所以不能从结果中排除此列。您可以将查询结果保存在临时表中,然后对临时表进行另一个查询,并在结果中提到要显示的列(而不是select *)。这种方法将显示除RowNum之外的所有列,这些列是根据RowNum的值排序的。
https://stackoverflow.com/questions/9358315
复制相似问题