请问下这种情况下的sql语句应该如何写
请教下这种情况下的sql语句应该怎么写?
现在有2张表
-----------------
第1张表 tmp1
sno sw
1 '第1位'
2 '第1位'
3 '第3位'
4 '第2位'
sw字段值只有 ‘第1位’,‘第2位’,‘第3位’ 这3种情况
-----------------------
第2张表 tmp2
sno 第1位 第2位 第3位
1 ‘a’ 'b' 'c'
2 ‘d’ 'e' 'f'
3 ‘g’ 'h' 'i'
4 ‘j’ 'k' 'l'
***********************
要求,在满足sno相同的情况下,根据第一张表的 sw字段值,在第二张表中只查询出 sw字段值对应的字段名对应的记录。
我是这样写的:
select a.sno,a.&b.sw as newzd from tmp1 a,tmp2 b where a.sno=b.sno
总是报语法错误,应该是 ‘a.&b.sw’这个地方出错,但是找不到解决办法,请各位老师指点下。
------解决方案--------------------
不能
sno 第1位 第2位 第3位
1 ‘a’ 'b' 'c'
修改
sno type value
1 1 a
1 2 b
1 3 c
与工作表连接,再生成交叉表
现在有2张表
-----------------
第1张表 tmp1
sno sw
1 '第1位'
2 '第1位'
3 '第3位'
4 '第2位'
sw字段值只有 ‘第1位’,‘第2位’,‘第3位’ 这3种情况
-----------------------
第2张表 tmp2
sno 第1位 第2位 第3位
1 ‘a’ 'b' 'c'
2 ‘d’ 'e' 'f'
3 ‘g’ 'h' 'i'
4 ‘j’ 'k' 'l'
***********************
要求,在满足sno相同的情况下,根据第一张表的 sw字段值,在第二张表中只查询出 sw字段值对应的字段名对应的记录。
我是这样写的:
select a.sno,a.&b.sw as newzd from tmp1 a,tmp2 b where a.sno=b.sno
总是报语法错误,应该是 ‘a.&b.sw’这个地方出错,但是找不到解决办法,请各位老师指点下。
sql语句
------解决方案--------------------
不能
sno 第1位 第2位 第3位
1 ‘a’ 'b' 'c'
修改
sno type value
1 1 a
1 2 b
1 3 c
与工作表连接,再生成交叉表