我在SQL Server 2012中有一个搜索数据的存储过程,然后将其插入表中。我还想排序并决定插入顺序而不创建重复项。我不想插入要排序的列,但我不知道是否可以使列可选..
这是我的SQL:
minSquishedWidth
代码工作得很好我唯一的问题是如何以某种方式从插入中排除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
列?由于我使用的是distinct,我必须在选择列表中使用它。任何建议都会很棒。
答案 0 :(得分:1)
您可以使用group by
:
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