24小时热门版块排行榜    

查看: 962  |  回复: 6

gue2

木虫 (著名写手)

[求助] 怎么实现下面的sql语句

表syn里有大量成对出现的记录(a,b)和(b,a),我只要保留其中任意一个,sql语句如何实现?
回复此楼
落霞与孤鹜齐飞
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

淡茶和小宝

新虫 (初入文坛)

表的结构也不给出。怎么来解决呢
2楼2012-12-05 22:48:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gue2

木虫 (著名写手)

引用回帖:
2楼: Originally posted by 淡茶和小宝 at 2012-12-05 22:48:13
表的结构也不给出。怎么来解决呢

表的结构就这两列,都是varchar类型
表头:A    B
记录:a    b
         b    a
落霞与孤鹜齐飞
3楼2012-12-06 10:13:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

思想变更

新虫 (初入文坛)

【答案】应助回帖

运行结果截个图看看  还有你跑的sql语句
4楼2013-01-03 17:59:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

legentalex

新虫 (初入文坛)

这个可以用存储过程来实现,直接写sql语句不好写
5楼2013-01-03 23:04:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

legentalex

新虫 (初入文坛)

这个可以用存储过程实现,直接写sql不好写
6楼2013-01-03 23:04:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

legentalex

新虫 (初入文坛)

【答案】应助回帖

declare @a "type"
declare @b "type"
declare c cursor for select a,b from syn
open c
fetch next from c into @a,@b
while @@fetch_status=0
begin
        declare @count int
        select @count=count(*) from syn where a=@b and b=@a
        if @count>0
        begin
                delete syn where a=@b and b=@a
        end
        fetch next from c into @a,@b
end
close c
deallocate c
大体是这个样子
7楼2013-01-03 23:13:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gue2 的主题更新
信息提示
请填处理意见