精华帖 (0) :: 良好帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-08
select
id, max(case when user_data='QQ' then value end) QQ, [other same].... from userdetail group by id |
|
返回顶楼 | |
发表时间:2011-04-09
考的是sql语句的行列转换
|
|
返回顶楼 | |
发表时间:2011-04-11
用decode啊,easy
|
|
返回顶楼 | |
发表时间:2011-04-12
decode可以
|
|
返回顶楼 | |
发表时间:2011-04-12
select u1.name,
--d.user_data, --d.value max( decode(d.user_data, '地址', d.value, '')) 地址, max( decode(d.user_data, '电话', d.value, '')) 电话, max( decode(d.user_data, '证件号', d.value, '')) 证件号, max( decode(d.user_data, '邮编', d.value, '')) 邮编, max( decode(d.user_data, 'QQ', d.value, '')) QQ from userinfo u1, userdetail d where u1.id = d.user_id group by u1.name ; |
|
返回顶楼 | |
发表时间:2011-04-13
decode 解决一切行转列,可惜只有oracle能使
|
|
返回顶楼 | |
发表时间:2011-04-14
谢谢大家,受益匪浅
|
|
返回顶楼 | |
发表时间:2011-04-14
好像Oracle、MySQL 用case可以,SQLServer没试过
|
|
返回顶楼 | |
发表时间:2011-04-14
最后修改:2011-04-14
咦……哈哈
|
|
返回顶楼 | |
发表时间:2011-04-14
Case函数能解决。
|
|
返回顶楼 | |