参考下图,如何将所有章节合并为一行不同的页码?
e.g。
第1页有3行,因为在chp 8,9,10的列上有3个数据
第2页有5行,因为在chp 8,9,1,11,12
所以 如何将每个页码的一行和所有数据放在他们自己的chp上?
基本SQL如下:
identifier [constant] datatype := expression;
答案 0 :(得分:0)
通过使SQL成为外部查询的子查询,一种方法是GROUP
SQL的结果......
SELECT Page, MAX(chp_1) AS chp_1, MAX(chp_2) AS chp_2, MAX(chp_3) AS chp_3, MAX(chp_4) AS chp_4, MAX(chp_5) AS chp_5, MAX(chp_6) AS chp_6, MAX(chp_7) AS chp_7, MAX(chp_8) AS chp_8, MAX(chp_9) AS chp_9, MAX(chp_10) AS chp_10, MAX(chp_11) AS chp_11, MAX(chp_12) AS chp_12
FROM
(
-- *** paste your SQL in here ***
) AS indivdual_rows
GROUP BY Page
它假定页面不能为同一章节提供多个非空白值。如果不是这样,那么它只会显示MAX
按字母顺序排列的值。
点击here to go to SQL Fiddle查看其实际效果。