-
与联合所有
假设列名是 col1 cola colb...。
select col1,cola
from tabname
where ..
union all
select col1,colb
from tabname
where ..
union all
select col1,colc
from tabname
where ..
union all
select col1,cold
from tabname
where ..
union all
select col1,cole
from tabname
where ..
union all
select col1,colf
from tabname
where ..
-
如果确定最多只有三个项目列,则可以这样做。
选择组号、单位、项目 1 物料编号。
项目 1 项目名称。
从选项卡中,第 1 项不是 nullUnion all
从选项卡中选择组编号、单位、项目 2、项目 2 名称,其中项目 2 不为空
union all
从选项卡中选择组编号、单位、项目三、项目三,其中项目三不为空
比如加分。 它能解决你的问题吗?
-
select date,col1 union allselect date,col2 union allselect date,col3 union allselect date,col4 union allselect date,col5 union allselect date,col6
此外,这是列到行,行到列是用 case when 函数实现的。
-
数据表示例:
假设您要将名称值用作行,将课程值用作列,则转换效果如下:
对应的SQL语句如下:
方法一:使用表联接。
select distinct ,select score from grade b and '语言') as '语言',select score from grade b and '数学') as '数学',select score from grade b and '英语') as '英语'
from grade a
方法二:使用分组。
select name,sum(case course when '语言' then score end) as '语言',sum(case course when '数学' then score end) as '数学',sum(case course when '英语' then score end) as '英语'
from grade group by name
-
select
name,sum(decode(subject,'语言',上半场结果,0))语言,sum(decode(subject,.'数学',上半场结果,0))math,sum(decode(subject,'英语',上半场结果,0))英语, sum(decode(subject,'语言',下半场结果,0))语言,sum(decode(subject,.'数学',下半场结果,0))math,sum(decode(subject,'英语',下半场结果,0))英语。
from score
group by name;
因为 oracle 数据库没有 top 关键字,所以不能像 Microsoft 的数据数据那样进行操作,有两种方法可以做到这一点: >>>More
Oracle 11g 只需设置内存即可。 无需单独设置 SGA 最大大小,设置内存最大目标和内存目标的一般原则是物理内存的 1 2。 重新启动实例后,SGA 最大大小将自动变为设置为内存最大目标的值。 >>>More