笔试中碰到一数据库的题目,苦思已久未得答案,大家帮忙解答下
admin 发表于 2010-04-25 | 来源:互联网 | 阅读:

题目如下:

已知表tab:
T1 F1 F2 F3
A 1 甲类支出 1000
A 2 已类支出 2000
A 3 丙类支出 3000
B 1 甲类支出 4000
B 3 丙类支出 2000

写sql语句得到的结果如下表:

T1 甲类支出 乙类支出 丙类支出
A 1000 2000 3000
B 4000 0 2000

高人帮忙指点下

已经有7 个评论
  1. doing7 说:

    行转列… 意见将这个问题放到sql区问问

  2. kook 说:

    以前碰到过使用count(),sum()以及子查询解决的……比较长

  3. 546914408 说:

    子查询搞定

  4. lee 说:

    SQL code

    select t.t1,
    sum(decode(t.f2, ‘甲类支出’, t.f3, 0)) as 甲类支出,
    sum(decode(t.f2, ‘乙类支出’, t.f3, 0)) as 乙类支出,
    sum(decode(t.f2, ‘丙类支出’, t.f3, 0)) as 丙类支出
    from test_row2column t
    group by t.t1

  5. rongxin 说:

    SQL codeselect t.t1,sum(decode(t.f2, ‘甲类支出’, t.f3, 0)) as 甲类支出,sum(decode(t.f2, ‘乙类支出’, t.f3, 0)) as 乙类支出,sum(decode(t.f2, ‘丙类支出’, t.f3, 0)) as 丙类支出from test_row2column t group by t.t1……正解

  6. aw3fae 说:

    SQL codeselect t.t1,sum(decode(t.f2, ‘甲类支出’, t.f3, 0)) as 甲类支出,sum(decode(t.f2, ‘乙类支出’, t.f3, 0)) as 乙类支出,sum(decode(t.f2, ‘丙类支出’, t.f3, 0)) as 丙类支出from test_row2column t group by t.t1解决了,谢谢各位了

  7. rongxin 说:

    这个题目考了无数个程序员

我要评论

评论功能因故关闭!

请加入我们的QQ群一起参与讨论:群号59400482(500人超级群)


返回首页 | 关于我们 | 联系我们 | 广告合作 | 网站地图 | 友情链接 | 版权声明