在SQL Server 2005中,我有一个描述路径的父表,其中包含对沿每条路径的每个点的坐标的子表,就像这样:如何将选择转为删除?
路径
int path_id, string path_name
点
int path_id, float x, float y, int n
路径上的第一个点是n = 1,然后每个添加的新点增加n。
我需要做的是,删除这个返回点什么:
select [path_id]
from Points
where n=1
即每个路径中的第一点,然后同时删除所有的点,其中n是该返回值:
select [path_id], max(n)
from Points
group by [path_id]
即每个路径的最后一个添加点。
在第一部分,我可以这样做:
delete from Points
where n=1
,但我怎么做第二部分?
Bassam,我以为我有一个独特的point_id,但事实证明我没有。谢谢,虽然 – Melanie 2012-02-02 01:47:16
@Melanie现在检查它..我改变了加入,以包括path_od和 – 2012-02-02 02:29:32
好吧,如果我删除像t.point_id = points.point_id的一切,那么这似乎工作。谢谢! – Melanie 2012-02-02 02:49:27