2个语句(SQL SEVER)

来源:百度知道 编辑:UC知道 时间:2024/05/06 04:16:18
1,有3列数据 A B C
我现在想变成2列 AB C 就是AB中的内容加一起.中间加个空格就行
2,我现在有一个表Location
有5级数据,每级只要不同的位置我都作为一条数据导出
并且同时导出数据的 上级 上上级 新表产生了ID
我要做一个目标表是 数据ID 数据上级ID的对应表
但是 用 a.parentname=b.name and a.ppname=b.parentname 是有冗余的
就是说有可能1条记录的上级 上上级
所对应的 很多条记录的数据名称 上级都相同
如 A B C
B C D1
B C D2
就是部分路径相同 全路径不同
哪位大神可以帮我清除冗余啊.好了再追加啊
锅炉烟系统 炉膛 左侧J阀 风室风压1 变送器
锅炉烟系统 炉膛 左侧J阀 风室风压2 变送器
锅炉烟系统 炉膛 左侧J阀 出口 变送器
锅炉烟系统 炉膛 左侧J阀 灰温 热电偶
锅炉烟系统 炉膛 左侧J阀 料位 变送器
锅炉烟系统 炉膛 左侧J阀 密度 变送器
锅炉烟系统 炉膛 左侧J阀 密封高度 变送器
锅炉烟系统 炉膛 左侧J阀 入口 变送器
第一张表 是 ID LOACTION P PP
1 锅炉烟系统
2 炉膛
3 变送器 密度 左侧J阀
4 变送器 料位 左侧J阀
想得到的表就是 主键 ID PID
1 2 1
这样的.关键现在就是会出现冗余
例外 charlif 我现在是问问如果直接清除这种冗余的语句
不是例外从新做表好么....我是想先弥补

第一个很简单了,SELECT A+' '+B AS AB,C FROM TABLENAME

第二个其实也很简单,您要的就是一个我们常用的BOM表(产品结构表),
BOM表的其本结构就是象您写的,ID和PID
其中ID是子件代码
PID是父件代码

当然,表中您还可以加入其它属性,如低层码等(表示该件最低层次,这个可以在以后再说)。

另外,您肯定还要有一个物料基础表,就是ID(物料代码)NAME(物料名称)及规格、型号等属性,这是用来提取每一个ID和PID的名称和属性的,但这是题外话。

说了这么多,您的BOM表建立后数据是这样的(为了更直观,我把子件和父件反过来写):
PID,ID
锅炉烟系统,炉膛
炉膛,左侧J阀
左侧J阀,风室风压2 变送器
左侧J阀,出口 变送器
左侧J阀,灰温 热电偶
左侧J阀,料位 变送器
左侧J阀,密封高度 变送器
左侧J阀,入口 变送器

这里假设锅炉烟系统,炉膛,左侧J阀,风室风压2 变送器等就是ID和PID(实际上一般应该是字母或数字代码,为了直观起见实际写的是名称,就是基础资料表中的名称。

这样一个表,您就已经用最少的冗余信息,记录了全面的产品结构数据。
这是我们在MRP或ERP中常用的BOM表。

1
select A+' '+B ,C from 表

2
没看明白,给几组数据吧

如果结果是
A B C
B C D1
B C D2
那你想把它转化成什么样的

1、select A+' '+B,C from tablename
2、在做有级次的表时都应该有个级次编码以及级次,楼主应该把这两个字段加入后,你要做的查询就简单了,是不能靠名称来判断上下级关系的。
级次编码如:
01
0101
0102
010201