SQL 写不出来了

SQL 写不出来了 求救
             A          B            C
123                               003
456      008   


           A                 B                        C
123                                                008
456     008       delete

就是把  456 这行的  008  放到 123这行的 003位置 
156这行  B列  加delete标记 
------解决方案--------------------
引用:
             A          B            C
123                               003
456      008   


           A                 B                        C
123                                                008
456     008       delete

就是把  456 这行的  008  放到 123这行的 003位置 
156这行  B列  加delete标记 

连接条件都没有?
------解决方案--------------------
说明一下业务逻辑吧
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

             A          B            C
123                               003
456      008   


           A                 B                        C
123                                                008
456     008       delete

就是把  456 这行的  008  放到 123这行的 003位置 
156这行  B列  加delete标记 

连接条件都没有?



不好意思   还有 一列 ID    ID是一样的 

123和456是固定值?
------解决方案--------------------
这效果?
SELECT * FROM
(select id,A,'delete' as B,C
FROM T
WHERE A IS NOT NULL
UNION ALL
SELECT NULL,NULL,A C
FROM T
WHERE A IS NOT NULL)
ORDER BY ID,A NULLS FIRST

------解决方案--------------------
UPDATE table_name a SET a.column_c=(SELECT b.column_a FROM  table_name b WHERE b.row_id=456)
WHERE a.row_id='123';
COMMIT;
UPDATE table_name a SET a.column_b='' WHERE a.row_id='456';
COMMIT;


这个意思?
------解决方案--------------------
引用:
Quote: 引用:

说明一下业务逻辑吧


      ID                A       B           C
      A001                                003