纵表、横表互转的SQL】的更多相关文章

竖表转横表 竖表结构: Name Course Grade 张三 语文 75 张三 数学 80 张三 英语 90 李四 语文 95 李四 数学 55 转换后横表结构: Name 语文 数学 英语 张三 75 80 90 李四 95 55 0 SQL语句: select Name, end) as 语文, end) as 数学, end) as 英语 from TableA group by Name 竖表转横表 横表转竖表 横表结构: ID Name Chinese Math English 1…
纵表.横表互转的SQL By:大志若愚 1.建表: 纵表结构 Table_A  create table Table_A ( 姓名 ), 课程 ), 成绩 int ) ) ) ) ) ) 姓名 课程 成绩 张三 语文 60 张三 数学 70 张三 英语 80 李四 语文 90 李四 数学 100    横表结构 Table_B create table Table_B ( 姓名 ), 语文 int, 数学 int, 英语 int ) ,,) ,,) 姓名 语文 数学 英语 张三 60 70 80…
纵表.横表互转的SQL 原文1:http://takkymj.iteye.com/blog/751401   横表就是普通的建表方式,如一个表结构为: 主键.字段1.字段2.字段3... 如果变成纵表后,则表结构为: 主键.字段代码.字段值. 而字段代码则为字段1.字段2.字段3. 具体为电信行业的例子.以用户帐单表为例一般出账时用户有很多费用客户,其数据一般存储为:时间,客户ID,费用科目,费用.这种存储结构一般称为纵表,其特点是行数多,字段少. 纵表在使用时由于行数多,统计用户数或对用户进行…
1.纵表转横表: 纵表结构:Table1 转换后的横表结构: Sql示例代码: select username, sum(case Course when '语文' then Grade else 0 end) as 语文, sum(case Course when '数学' then Grade else 0 end) as 数学, sum(case Course when '英语' then Grade else 0 end) as 英语 from Table1 group by usern…
1,纵表转横表 纵表结构 Table_A: 转换后的结构: 纵表转横表的SQL示例: SELECT  Name ,        SUM(CASE WHEN Course = N'语文' THEN Grade                 ELSE 0            END) AS Chinese ,        SUM(CASE WHEN Course = N'数学' THEN Grade                 ELSE 0            END) AS Math…
一.横表和纵表 横表:通常指我们平时在数据库中建立的表,是一种普通的建表方式.       (主键.字段1.字段2......)如:时间.客户ID,基本通话费.漫游通话费,国内长途费.国际长途费..... 纵表:一般不多见,在表结构不确定的时候,如需增加字段的情况下的一种建表方式. 二.执行效率     横表:后台数据库管理员操作简单,直观,清晰可见,一目了然.但若要给横表中添加一个或者多个字段,就须重建表结构.     纵表:对于横表的弊端,纵表中只需要添加一条记录,就可以添加一个字段,所消耗…
现把转换方法列举如下: 1.纵表转横表: 纵表结构 TableA Name Course Grade 张三 语文 75 张三 数学 80 张三 英语 90 李四 语文 95 李四 数学 55 横表结构 TableB Name 语文 数学 英语 张三 75 80 90 李四 95 55 0 方法一: select Name, sum(case Course when ‘语文‘ then Grade else 0 end) as 语文, sum(case Course when ‘数学‘ then…
SQL 查询横表变竖表   /*普通行列转换 假设有张学生成绩表(tb)如下:Name Subject Result张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94*/ -------------------------------------------------------------------------/*想变成 姓名         语文        数学        物理          ---------- --------…
纵表格式如图所示: 查询sql语句如下: ),content)content,Date from SummerChina ' 变成横表如图所示: 纵表变横表sql语句如下: select Time, max(case Date when 'Morning' then content else null end) as Morning, max(case Date when 'Afternoon' then content else null end)as Afternoon ),content)…
#创建表user_score create table user_score ( name varchar(20), subjects varchar(20), score int ); insert into user_score(name,subjects,score) values('张三','语文',60); insert into user_score(name,subjects,score) values('张三','数学',70); insert into user_score(n…