首页 新闻 搜索 专区 学院

SQL如何获取相同列的不同数据

0
悬赏园豆:30 [待解决问题]

比如:

老师表

id   name   age    type

1  张三     20    Java

2     李四      21     C#

 

学生表

id    name    age     C#       Java

1      王五      12        2          1      

 

如何把C#中的2和Java中的1替换为张三和李四呢

郑海潮的主页 郑海潮 | 初学一级 | 园豆:76
提问于:2015-08-18 09:24
< >
分享
所有回答(5)
0

看似行转列

✎﹏ℳ๓₯㎕ღ | 园豆:1497 (小虾三级) | 2015-08-18 09:36
0

update 学生表 set c#='张三',Java='李四'

是的,没错

wxl369 | 园豆:193 (初学一级) | 2015-08-18 09:40

...不是用update的

支持(0) 反对(0) 郑海潮 | 园豆:76 (初学一级) | 2015-08-18 10:20

你的表不符合实际啊,这样没有理论依据啊,怎么做,只有是做的出结果不管方法啦

1  王五  12   张三    李四       这条数据是什么意思?对吧。

支持(0) 反对(0) wxl369 | 园豆:193 (初学一级) | 2015-08-18 11:13
0

UPDATE s SET "c#"=(select t.name from t join s on t.id=s."c#"), java=(select t.name from t join s on t.id=s.java)可能有些数据转换错误,自己调下

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-18 09:55
0

select a.id, a.name ,a.age ,
( select name form 老师表 where C#= a.C# ),
( select name form  where 老师表 where Java =a.java) from 学生表 a

郑海潮 | 园豆:76 (初学一级) | 2015-08-18 10:29
1
select Id,Name,Age, t2.Name, t3.Name from [学生表] t1
left join [老师表] t2 on t1.C# = t2.id
left join [老师表] t3 on t1.Java = t3.id

连接查询。
幻天芒 | 园豆:36662 (高人七级) | 2015-08-18 10:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册