SQL语句简单问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:49:51
goodstype一个表,字段如下:
ID ID1 type superid superid1
19 CX01 软件 CX55
20 CX22 培训 CX01
现在要把这个表中的数据中的superid中的数据对应进去,就是如上所示,ID号20的纪录的superid1字段是CX01,那末他应该对应ID1号为CX01的纪录,即应该填写为如下形式
if superid1(字段)= id1(字段) then superid(字段)=id(字段)

ID ID1 type superid superid1
19 CX01 软件 CX55
20 CX22 培训 19 CX01
写入更新语句:
UPDATE GoodsType
SET superId=(SELECT B.typeId
FROM goodstype A LEFT OUTER JOIN goodstype B ON A.SUPERID1 = B.typeID1)
这句话提示
服务器: 消息 512,级别 16,状态 1,行 1
子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
语句已终止。
这里应该如何写入阿?????????
那位给写个存储过程阿

SELECT B.typeId
FROM goodstype A LEFT OUTER JOIN goodstype B ON A.SUPERID1 = B.typeID1
这条语句的返回结果只能是一条记录才可以
superId=(SELECT B.typeId ...
不然superId会等于哪条记录及的B.typeId呢?