求条在SQLSERVER中的Update语句。。。

[复制链接]
查看11 | 回复4 | 2010-10-8 09:32:27 | 显示全部楼层 |阅读模式
有表结构如下
stuff
userid(唯一),name,CoupleID,cardid,partnerId,
ID号
姓名 夫妻号身份证,配偶身份证。
1, 张三,NULL,aaaa,bbbb,
2李四, NULL,bbbb,NULL或aaaa
同在一张表中,
如何根据cardid和partnerid匹配上,则用一个userid更新到coupleId到这两记录上
结果如下表
userid(唯一),name,CoupleID,cardid,partnerId,
ID号
姓名 夫妻号身份证,配偶身份证。
1, 张三,1,aaaa,bbbb,
2李四, 1,bbbb,NULL或aaaa

谢谢。。。。

回复

使用道具 举报

千问 | 2010-10-8 09:32:27 | 显示全部楼层
本帖最后由 gszoracle 于 2012-9-23 09:38 编辑
Update T b
Set B.coupleId=a.Id
From t a
Where t.coupleid is null and a.partnerId=b.cardid
回复

使用道具 举报

千问 | 2010-10-8 09:32:27 | 显示全部楼层
开始时copuleid都是NULL,条件的Where t.coupleid is null and a.coupleid=b.Id
不能更新到任何记录,谢谢楼上的。。
继续。。
回复

使用道具 举报

千问 | 2010-10-8 09:32:27 | 显示全部楼层
本帖最后由 gszoracle 于 2012-9-23 09:42 编辑
kitecn2012-9-22 22:29
copuleidNULLWhere t.coupleid is null and a.coupleid=b.Id
κμлл ...

改了条件再瞧瞧。只适用于一夫一妻制。
回复

使用道具 举报

千问 | 2010-10-8 09:32:27 | 显示全部楼层

update stuff
set CoupleId = null

update a
set a.CoupleId = a.id
from stuff a
join stuff b on a.cardId =b.partnerid and a.partnerid = b.cardId
where a.id % 2 = 0
update a
set a.CoupleId = b.id
from stuff a
join stuff b on a.cardId =b.partnerid and a.partnerid = b.cardId
where a.id % 2 = 1
update a
set a.CoupleId = a.id
from stuff a
join stuff b on a.cardId =b.partneridand a.CoupleId is null
update a
set a.CoupleId = b.id
from stuff a
join stuff b on a.partnerid=b.cardId and a.CoupleId is null

select * from stuff
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行