表A
字段 名称 类型 排序
ID strName bType strOrder
1 AA 0 AA
2 BB 1 AABB
3 CC 1 AABBCC
......以上是一个BOM结构,请问该如何按 strOrder 将 bType 进行更新呢?预想结果如下:ID strName bType strOrder
1 AA 0 AA
2 BB 0(对应上一层AA) AABB
3 CC 0(对应上一层BB) AABBCC
字段 名称 类型 排序
ID strName bType strOrder
1 AA 0 AA
2 BB 1 AABB
3 CC 1 AABBCC
......以上是一个BOM结构,请问该如何按 strOrder 将 bType 进行更新呢?预想结果如下:ID strName bType strOrder
1 AA 0 AA
2 BB 0(对应上一层AA) AABB
3 CC 0(对应上一层BB) AABBCC
解决方案 »
- 安装Sql Server 2005出现“性能监视器计数器要求”错误!
- 请问我的Microsoft Visual Studio 2005下的SQL2005怎么找不到SQL Management Studio啊?
- mssqlserver中存储过程执行拼接的sql语句的问题
- 请问一条sql语句
- 字段合并问题, 请高手指教!
- SQLSERVE2005作业活动监视
- 分页存储过程 zjcxc(邹建) 帮我看看
- SQL修改的问题!
- 用ADO访问access、sql等数据库,如何获得表的属性例如,创建时间,修改时间,以及字段的属性,例如字段的类型、长度、精度、小数点 ...
- 在MSSQLSERVER7.0怎么把备份的文件恢复?
- normalization(不好意思,中文不知道)是什么概念,高手能举例给我解释下么?
- 打算在后台的SQL Server中对所有插入删除和更新进行跟踪,请大家提个完整的实现方案。
create table #ta (ID int,strName varchar(10),bType int,strOrder varchar(50))
insert into #ta select 1,'aa',0,'aa'
insert into #ta select 2,'bb',1,'aabb'
insert into #ta select 3,'cc',1,'aabbcc'update #ta
set bType=c
from (select bType as c from #ta where strName=left(right(strOrder,4),2)) tselect * from #ta drop table #ta
--resurlt
ID strName bType strOrder
----------- ---------- ----------- --------------------------------------------------
1 aa 0 aa
2 bb 0 aabb
3 cc 0 aabbcc
--条件按你真实数据的规则写
where strName=left(right(strOrder,4),2)
----------- ---------- ----------- --------------------------------------------------
1 冬瓜 0 aa
2 豆腐 0 aabb
3 西瓜 0 aabbcc
----------- ---------- ----------- --------------------------------------------------
1 电脑 1 0 aa
2 LCD 2 0 aa1
2 主机 2 1 aa2
3 CPU 3 0 aa21
4 主板 3 0 aa22此时的结果就如下了。当主层bType为1时,子层数据跟住主层变。ID strName intC(层) bType strOrder
----------- ---------- ----------- --------------------------------------------------
1 电脑 1 0 aa
2 LCD 2 0 aa1
2 主机 2 1 aa2
3 CPU 3 1 aa21 (子层跟住上一层变)
4 主板 3 1 aa22(子层跟住上一层变)
全看你strOrder的设计是怎样的