首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql 用游标开展更新

2012-09-01 
sql用游标进行更新有这样几个表单据表:客户类型产品甲出库彩包已入库纸箱客户表: 名称代码甲001乙002产品

sql 用游标进行更新
有这样几个表
单据表:客户 类型 产品
  甲 出库 彩包
  已 入库 纸箱
客户表: 名称 代码
  甲 001
  乙 002
产品表:名称 代码
  彩包 A
  纸箱 B
declare ejxl cursor for select * from 单据表
open ejxl
fetch next from ejxl 
怎样转换成这样的格式
客户 类型 产品
001 1 A
002 2 B
类型是没有基础表的 只能进行判断
  



[解决办法]
类型是没有基础表的 只能进行判断

怎么判断?
[解决办法]
单据表:客户 类型 产品
甲 出库 彩包
已 入库 纸箱
客户表: 名称 代码
甲 001
乙 002
产品表:名称 代码
彩包 A
纸箱 B

update a
set a.代码 = c.代码
from 客户表 a join 单据表 b on a.名称 = b.客户
join 产品表 c on b.产品 = c.名称
[解决办法]

SQL code
--try--selectselect b.代码 as 客户,case when 类型='出库' then 1 else 2 end as 类型,c.代码 as 产品from 单据表 as a,客户表 as b ,产品表 as cwhere a.客户=b.名称 and a.产品=c.代码--updateupdate a set 客户=b.代码 ,类型=case when 类型='出库' then 1 else 2 end ,产品=c.代码from 单据表 as a,客户表 as b ,产品表 as cwhere a.客户=b.名称 and a.产品=c.代码 

热点排行
Bad Request.