TSQL帮助Microsoft SQL Server

时间:2018-08-10 10:14:24

标签: sql sql-server tsql

我在sql server 2012 db中有一个带有以下属性的平面表

std::thread int, recno varchar(50), part varchar(50), ipart varchar(5)

表包含以下内容

enter image description here

样本数据

remark

数据设置具有双向关系。我想以单向关系保留数据(第2-6行)并删除第7-11行。任何帮助/指导将不胜感激。

此致

2 个答案:

答案 0 :(得分:1)

您的设计不好,您可以删除这些行:

wstring pathStr = L"C:/abc/xyz/example.txt";
LPWSTR path[260];

Link to SQLFiddle sample

注意:您的图像的注释为varchar。当它已经是int时,您不需要转换:

delete from myTable 
where try_convert(int, remark) > 0 and try_convert(int, remark) < recno;

答案 1 :(得分:0)

AS注释明显表明您缺少一些重要信息。但是,有了基本知识(第2-6行),这对您有用吗?

declare @table table

(recno int,part varchar(50),ipart varchar(50),remark int)

insert into @table 

values
(2 ,'0343432','9141212' ,7),
(3 ,'73442' ,'000832'   ,8),
(4 ,'911212'    ,'28832'    ,9),
(5 ,'009832'    ,'00988'    ,10),
(6 ,'57292' ,'11234'    ,11),
(7 ,'9141212','0343432' ,2),
(8 ,'000832'    ,'73442'    ,3),
(9 ,'28832' ,'911212'   ,4),
(10,'00988' ,'009832'   ,5),
(11,'11234' ,'57292'    ,6)

select a.recno,a.part,a.ipart,a.remark from @table a
inner join @table b on a.part = b.ipart

where a.remark > b.remark

结果

enter image description here