【问题标题】:Select Identity without 'into"选择没有“进入”的身份
【发布时间】:2013-05-30 23:23:20
【问题描述】:

好吧,我 99% 确定这是可能的...如何在 SSMS 2008 中不使用“into”来选择标识列?

例如,

我知道这行不通,但这是我正在寻找的......

Select  PK as Identity (int,1,1), A.*
From    Table_1 A

【问题讨论】:

  • 身份栏是什么意思?

标签: sql select identity sql-server-2008


【解决方案1】:

如果您只是在寻找一个随机的唯一编号,请尝试:

Select  row_number() over (order by newid())
,       A.*
From    Table_1 A

【讨论】:

  • 非常感谢。一开始它给了我一个语法错误,需要在row_number之后添加()。 SELECT ROW_NUMBER() over(order by newid()) AS ID, A.* FROM Table_1 A
【解决方案2】:

我假设您想在使用 SELECT 获取任何数据后为数据创建 ID。您可以在 UPDATE 或 MERGE 或某种 DML 中使用。

SELECT row_number() over (order by newid()) AS ID, A.ColumnName
FROM (Select DISTINCT ColumnName From  Table_1)  A

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 2011-11-18
    • 1970-01-01
    • 2018-04-25
    相关资源
    最近更新 更多