zoukankan      html  css  js  c++  java
  • SQL 行列互换 天高地厚

    一、行转列

    1、建立表格

    ifobject_id('tb')isnotnulldroptabletb

    go

    createtabletb(姓名varchar(10),课程varchar(10),分数int)

    insertintotbvalues('张三','语文',74)

    insertintotbvalues('张三','数学',83)

    insertintotbvalues('张三','物理',93)

    insertintotbvalues('李四','语文',74)

    insertintotbvalues('李四','数学',84)

    insertintotbvalues('李四','物理',94)

    go

    select*fromtb

    go

    姓名       课程       分数

    ---------- ---------- -----------

    张三       语文        74

    张三       数学        83

    张三       物理        93

    李四       语文        74

    李四       数学        84

    李四       物理        94

     

    2、使用SQL Server 2000静态SQL

    --c

    select姓名,

     max(case课程when'语文'then分数else0end)语文,

     max(case课程when'数学'then分数else0end)数学,

     max(case课程when'物理'then分数else0end)物理

    fromtb

    groupby姓名

    姓名       语文        数学        物理

    ---------- ----------- ----------- -----------

    李四        74          84          94

    张三        74          83          93

     

    二、列转行

    1、建立表格

    ifobject_id('tb')isnotnulldroptabletb

    go

    createtabletb(姓名varchar(10),语文int,数学int,物理int)

    insertintotbvalues('张三',74,83,93)

    insertintotbvalues('李四',74,84,94)

    go

    select*fromtb

    go

    姓名       语文        数学        物理

    ---------- ----------- ----------- -----------

    张三       74          83          93

    李四        74          84          94

    2、使用SQL Server 2000静态SQL

    --SQL SERVER 2000静态SQL

    select*from

    (

     select姓名,课程='语文',分数=语文fromtb

     unionall

     select姓名,课程='数学',分数=数学fromtb

     unionall

     select姓名,课程='物理',分数=物理fromtb

    ) t

    orderby姓名,case课程when'语文'then1when'数学'then2when'物理'then3end

    姓名       课程 分数

    ---------- ---- -----------

    李四       语文 74

    李四       数学 84

    李四       物理 94

    张三       语文 74

    张三       数学 83

    张三       物理 93

     

    不登高山,怎知天高;不临深溪,焉知地厚!站在坚实的土地上,做着生命中最真实的事情;像一棵挺拔的大树,认可自己的命运并敢于迎接属于这一方天空的风风雨雨。

  • 相关阅读:
    测试员的一天
    Python测试开发-创建模态框及保存数据
    appium ios真机自动化环境搭建&运行(送源码)
    Python测试开发-浅谈如何自动化生成测试脚本
    刷金币全自动脚本 | 让Python每天帮你薅一个早餐钱(送源码)
    Python测试开发-创建模态框及保存数据
    Python测试开发-浅谈如何自动化生成测试脚本
    appium ios真机自动化环境搭建&运行(送源码)
    刷金币全自动脚本 | 让Python每天帮你薅一个早餐钱(送源码)
    华为招进应届生8名,年薪89万-201万
  • 原文地址:https://www.cnblogs.com/net2012/p/2823256.html
Copyright © 2011-2022 走看看