SQL Server:如何使列成为可选列?
我在SQL Server 2012中有一个存储过程,用于搜索数据,然后将其插入表中。我还希望在不创建重复项的情况下对插入顺序进行排序和决定。不应插入我要排序的列,但我不知道是否可以将列设为可选列 这是我的SQL:SQL Server:如何使列成为可选列?,sql,sql-server,Sql,Sql Server,我在SQL Server 2012中有一个存储过程,用于搜索数据,然后将其插入表中。我还希望在不创建重复项的情况下对插入顺序进行排序和决定。不应插入我要排序的列,但我不知道是否可以将列设为可选列 这是我的SQL: INSERT INTO Plans (personID, Title, CreatedOn) SELECT DISTINCT P.personID, A.title, A.CreatedOn, P.Appoint
INSERT INTO Plans (personID, Title, CreatedOn)
SELECT DISTINCT
P.personID,
A.title,
A.CreatedOn,
P.AppointmentTime -- I want to sort by this column
... Join conditions
... ORDER BY P.AppointmentTime DESC
代码工作得很好我唯一的问题是如何从插入中排除
p.AppointmentTime
列?因为我使用的是distinct,所以我必须将它放在选择列表中。任何建议都很好。您可以使用分组方式
:
INSERT INTO Plans (personID, Title, CreatedOn)
Select distinct P.personID, A.title, A.CreatedOn
from ... Join conditions
group by P.personID, A.title, A.CreatedOn
order by max(P.AppointmentTime) desc
如果您只需从选择列表中删除该字段,会发生什么情况呢?如果是,只需从选择列表中删除列名,否则将抛出错误