sql 多列匹配同一列问题
table a
E0, E1, E2, E3,
325 1 2 4
325 2 4 6
325 3 5 8
325 4 4 4
325 4 5 5
325 6 1 11
325 7 7 23
325 8 4 45
325 9 8 32
325 10 9 21
table b
t1 t1code t1value
325V1 1 S不分
325V1 2 未知
325V3 8 无品牌
325V1 9 花王碧柔
325V2 4 珈侬丁家宜
325V3 4 10g
325V1 3 强生可伶可俐
458V2 2 拉芳
325V1 4 好迪
574V1 10 隆力奇
a表中需要经行匹配的段大概有15个也就是E1到E15,只拿三个作为例子
通过a 表中的E0与b表中t1的前三位相匹配,如果t1中v后的数字为1的话E1与t1code相匹配 确定能够确定唯一的t1value,这样只能一次匹配E1,如果t1中v后的数字为2的话E2与t1code相匹配 确定能够确定唯一的t1value
如何一次性把E1到E3 中在t1value中的值匹配出来。
现在我只能一次匹配出一列的,
结果如下
E0, E1, E1.value, E2, E3,
325 1 S不分6020 2 4
而我想一次性到得
E0, E1, E1.value, E2, E2.value E3,E3.value 一直到E3对应的值
325 1 S不分6020 2 拉芳 4 10g
请高数相助
看来要用到行转列了。不知楼主Sql是哪个版本。
最好给个2000的思路,2005的也可以
SQL code:
select a.E0,a.E1,b.t1value,a.E2,c.t1value,a.E3,d.t1value
from a
left join b on a.e1=b.t1code
left join b as c on a.e2=c.t1code
left join b as d on a.e2=d.t1code
相关问答:
我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例:
......
sql的软件在哪里可以下啊!在网上找了蛮多都用不了啊
随便搞一D版吧,
迅雷第一个就可以用
2000,2005都这样
http://119.147.41.16/down?cid=0698C2D64D7D637D90A6D2482298E6717D4F15CD&t=2&fmt=-1 ......
tab1 字段:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 字段:goodsid,goodskind(商品类型)
tab3 字段:goodskind(商品类型),kindname
结果:
得到商品类型在一段时间 ......
1。怎样使xp_cmdshell能完整输出超过255个字符的字符串。
2。select 时,检索速度是与from后的 TABLE顺序有关,还是与where条件的顺序有关(TABLE数据多少 )
在系统属性设定里有个选项,可以修改单字段输出字数限制. ......