这样的sql语句怎么写

来源:百度知道 编辑:UC知道 时间:2024/05/30 17:20:47
在表T中,有很多列,其中A列有许多不同值的相同记录(例如有若干条值为50的记录,有若干条值为40的记录等等),而B列中,与A列相对应的每一种不同值的相同记录都只有一条记录有数值,而其它均为NULL(例如A列的若干条值为50的记录中,只有一条记录在B列中为12345,而其它都为NUll;A列中若干条值为40的记录中,只有一条记录在B列中为65489789,其它为NULL;等等),那么如何通过UPDATE语句,将A列中数值相同的而B列的值为NULL的记录改为那条不为NULL的值(例如A列值均为50的记录,其中仅有一条在B列中为12345,其它为NULL,将这些NULL改为12345;相对应,A列值都为40的哪些记录,仅有一条在B列中为65489789,其它为NULL,将些NULL改为65489789;等等,还有很多很多这样的记录)。亲娘咧,俺好歹说完了,不知大家看明白没,急等回答,先感谢一下,谢谢。
问题自己解决,但想不起自链接怎么用,把表又导入为表T2,update T set B=(select B) from T2 where T.A=T2.A

update table1
set B=testTable.B
from table1
inner join(select A,B from table1 where B is not null) as testTable
on table1.A=testTable.A
试试看吧:)

update T set B=12345 where B is null
update T Set A=50 where B ..
update T Set c=6789 where B...

到底是A列在B中,那么就是说A列是B列的一个行吗?还是说在同一行而不同列呢?或者这些列值在同行不同列,还是说这些列在同列不同行呢?
..........只是随便看下,不过真的这题。。。无敌了 教授级人物做的吧