SQL 写不出来了 求救

快乐大法师 2014-08-22 04:12:55
A B C
123 003
456 008


A B C
123 008
456 008 delete

就是把 456 这行的 008 放到 123这行的 003位置
156这行 B列 加delete标记
...全文
129 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
CT_LXL 2014-08-22
  • 打赏
  • 举报
回复
引用 5 楼 kkxxllasasas 的回复:
[quote=引用 3 楼 bw555 的回复:] 说明一下业务逻辑吧
ID A B C A001 003 A001 008 B001 002 B001 006 变成这样的 ID A B C A001 008 A001 008 delete B001 006 B001 006 delete[/quote]
引用 5 楼 kkxxllasasas 的回复:
[quote=引用 3 楼 bw555 的回复:] 说明一下业务逻辑吧
ID A B C A001 003 A001 008 B001 002 B001 006 变成这样的 ID A B C A001 008 A001 008 delete B001 006 B001 006 delete[/quote]
引用 5 楼 kkxxllasasas 的回复:
[quote=引用 3 楼 bw555 的回复:] 说明一下业务逻辑吧
ID A B C A001 003 A001 008 B001 002 B001 006 变成这样的 ID A B C A001 008 A001 008 delete B001 006 B001 006 delete[/quote] UPDATE TEST T SET T.C = (SELECT A FROM TEST T2 WHERE T2.ID = T.ID AND T2.A IS NOT NULL) WHERE T.A IS NULL; UPDATE TEST T SET T.B = 'DELETE' WHERE EXISTS (SELECT 1 FROM TEST T2 WHERE T2.C = T.A AND T2.ID = T.ID AND T2.A IS NULL) AND T.A IS NOT NULL; COMMIT;
tommysj_love 2014-08-22
  • 打赏
  • 举报
回复
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; 这个意思?
bw555 2014-08-22
  • 打赏
  • 举报
回复
这效果?
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
快乐大法师 2014-08-22
  • 打赏
  • 举报
回复
引用 3 楼 bw555 的回复:
说明一下业务逻辑吧
ID A B C A001 003 A001 008 B001 002 B001 006 变成这样的 ID A B C A001 008 A001 008 delete B001 006 B001 006 delete
CT_LXL 2014-08-22
  • 打赏
  • 举报
回复
引用 2 楼 kkxxllasasas 的回复:
[quote=引用 1 楼 zlloct 的回复:] [quote=引用 楼主 kkxxllasasas 的回复:] A B C 123 003 456 008 A B C 123 008 456 008 delete 就是把 456 这行的 008 放到 123这行的 003位置 156这行 B列 加delete标记
连接条件都没有?[/quote] 不好意思 还有 一列 ID ID是一样的 [/quote] 123和456是固定值?
bw555 2014-08-22
  • 打赏
  • 举报
回复
说明一下业务逻辑吧
快乐大法师 2014-08-22
  • 打赏
  • 举报
回复
引用 1 楼 zlloct 的回复:
[quote=引用 楼主 kkxxllasasas 的回复:] A B C 123 003 456 008 A B C 123 008 456 008 delete 就是把 456 这行的 008 放到 123这行的 003位置 156这行 B列 加delete标记
连接条件都没有?[/quote] 不好意思 还有 一列 ID ID是一样的
CT_LXL 2014-08-22
  • 打赏
  • 举报
回复
引用 楼主 kkxxllasasas 的回复:
A B C 123 003 456 008 A B C 123 008 456 008 delete 就是把 456 这行的 008 放到 123这行的 003位置 156这行 B列 加delete标记
连接条件都没有?

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧