有如下2个表chars和user
chars内容如下:
account char01 char02 char03 charNum
AAA 000 111 <NULL> 2
BBB 023 112 021 3
CCC 102 <NULL> <NULL> 1
…… …… …… …… ……
user内容如下:
userID …… ……
021 …… ……
023 …… ……
102 …… ……
111 …… ……
…… …… ……
现在想实现如下查询:
可以看到userID中少了一个000和112,我想用一条语句更新表chars中char01的000和char02的112分别为<NULL>,然后再把charNum的值分别减去1.更新后的chars表内容如下:
更新后的chars内容:
account char01 char02 char03 charNum
AAA <NULL> 111 <NULL> 1
BBB 023 <NULL> 021 2
CCC 102 <NULL> <NULL> 1
…… …… …… …… ……
不知道如何实现,多谢指教!!
注:charNum的值等于char01,char02和char03中非空值的和.
chars内容如下:
account char01 char02 char03 charNum
AAA 000 111 <NULL> 2
BBB 023 112 021 3
CCC 102 <NULL> <NULL> 1
…… …… …… …… ……
user内容如下:
userID …… ……
021 …… ……
023 …… ……
102 …… ……
111 …… ……
…… …… ……
现在想实现如下查询:
可以看到userID中少了一个000和112,我想用一条语句更新表chars中char01的000和char02的112分别为<NULL>,然后再把charNum的值分别减去1.更新后的chars表内容如下:
更新后的chars内容:
account char01 char02 char03 charNum
AAA <NULL> 111 <NULL> 1
BBB 023 <NULL> 021 2
CCC 102 <NULL> <NULL> 1
…… …… …… …… ……
不知道如何实现,多谢指教!!
注:charNum的值等于char01,char02和char03中非空值的和.
解决方案 »
- 请教一个超级简单的sql语句问题 大侠救命呀
- select,update,insert,delete的相关语句和用法
- 请教如何查一个数据库里哪些表使用了某字段
- 如何生成包括数据在内的sql脚本呢
- update后记录不相否?
- 在线求助 xp系统不能连接MSSQL数据库
- 请教:如何在VFP程序表单中,自动画出统计图形?谢谢。
- 高手请入,诚心求教;如何查看每个表的大小??? sql2000 数据库
- 有个小小的问题请教诸位,怎样将SQL server中的select出来的数据转成文本的形式保存?在线等待中......
- 存储过程里面能过调用自己写的函数吗?数据库是sql server!
- 本地Access导入远程Sql Server
- 模糊查询
update chars set Char02=null where not exists ( select * from user where chars.Char02=user.userid )
update chars set Char03=null where not exists ( select * from user where chars.Char03=user.userid )
case when b.userid is null then 0 else 1 end +
case when c.userid is null then 0 else 1 end +
case when d.userid is null then 0 else 1 end as charnum
from chars a
left join user b on a.char01=b.userid
left join user c on a.char02=c.userid
left join user d on a.char03=d.userid