就是想根据B表列的内容,更新A表的一列。
A和B二个表,
A表.id,订单号,产品,分类
1 A1 B1
2 A2 B2
1 A3 B5
2 A4 B1
5 A5 B3
6 A6 B1
... ... ....
... ... .....B表 : id 产品,属性
1 B1 1
2 B2 1
3 B3 2
4 B4 1
5 B5 2
6 B7 1需求:如果B表产品属性为1,则更新A表的分类为“yes”,如果产品属性为2,则更新A表的分类为"no"。
求一个SQL语句,谢谢!
A和B二个表,
A表.id,订单号,产品,分类
1 A1 B1
2 A2 B2
1 A3 B5
2 A4 B1
5 A5 B3
6 A6 B1
... ... ....
... ... .....B表 : id 产品,属性
1 B1 1
2 B2 1
3 B3 2
4 B4 1
5 B5 2
6 B7 1需求:如果B表产品属性为1,则更新A表的分类为“yes”,如果产品属性为2,则更新A表的分类为"no"。
求一个SQL语句,谢谢!
解决方案 »
- ORCALE 海量数据统计问题
- W7安装完oracle10g后,创建数据库,去提示对快捷方式下引用的项目权限不够!!!!安装中,我是修改了文件夹属性下的用户完全控制权限。
- 求一个oracle字符串解析函数
- 关于将数据插入到数据库的问题
- 请问用BLOB类型,保存图片,文档等文件,BLOB得大小是不是就是该文件在OS中的大小啊?分少了点。。大家别介意。
- 帮我看看这段创建表的语句 有什么毛病?
- 如何在WINXP PRO(SP2)的NTFS分区下ORACLE_HOME目录进行安全认证设置?
- 机器更名后,oracle9i无法启动
- 回滚段为什么不回滚
- oracle行转列
- 刚在WIN10安装了ORACLE 11G R2的客户端,然后想直接去配置TNS用PLSQL登录公司的数据库,碰到了问题。
- 表空间足够,但是用户却不能够增加数据
using B表 b
on(a.产品=b.产品)
when matched then
update set a.分类=decode(b.属性,1,'yes',2,'no',null)
where b.产品=a.产品)
(
select
case b.sx
when 1 then 'yes'
when 2 then 'no'
end sx
from b where b.cp = a.cp
)
UPDATE A SET 分类='NO' WHERE A.ID IN(SELECT A.ID FROM A LEFT JOIN B ON A.产品=B.产品 WHERE B.属性=12);