create
table tb_student_score
( name varchar
, course varchar
, score int);
insert
into tb_student_score
values
('張三'
,'數學',83
);insert
into tb_student_score
values
('張三'
,'英語',93
);insert
into tb_student_score
values
('張三'
,'語文',80
);insert
into tb_student_score
values
('李四'
,'語文',74
);insert
into tb_student_score
values
('李四'
,'數學',84
);insert
into tb_student_score
values
('李四'
,'英語',94
select ch.name 姓名, ch.china_score 語文, math.math_score 數學, en.english_score 英語
from
(select name, score china_score from tb_student_score where course =
'語文'
) ch
left
join
(select name, score math_score from tb_student_score where course =
'數學'
) math on ch.name = math.name
left
join
(select name, score english_score from tb_student_score where course =
'英語'
) en on ch.name = en.name;
select name 姓名,
sum(
case
when course=
'語文'
then score else
0end
) 語文,
sum(
case
when course=
'數學'
then score else
0end
) 數學,
sum(
case
when course=
'英語'
then score else
0end
) 英語
from tb_student_score group
by name;
SQL行轉列兩種常用寫法
if object id tempdb.lsb1 is notnull drop table lsb1 create table lsb1 a1 varchar 50 a2 varchar 50 a3 varchar 50 insert into lsb1 values 張三 90 數學 inser...
mysql行轉列的兩種方法
建表語句 create table tb 姓名 varchar 10 課程 varchar 10 分數 int insert into tb values 張三 語文 74 insert into tb values 張三 數學 83 insert into tb values 張三 物理 93 i...
兩種if判斷
上海面試三 下面是c語言中兩種if語句判斷方式。請問哪種寫法更好?為什麼?int a if a1 第一種判斷方式 if 1a 第二判斷方式 答 這是個主觀題,不過多數人認為第二種好。從執行效率上講,第二種效率更高。另外,在編寫 時如果不小心將 寫成 即變成 1 a 這時編譯器將會給出錯誤提示。而如果...