① sql 裡面怎麼把豎表變成橫表
select 姓名,sum(case when 科目='數學' then 分數 end) as 數學,sum(case when 科目='語文' then 分數 end) as 語文,sum(case when 科目='英語' then 分數 end) as 英語 from 表名
group by 姓名
② sql 橫表變豎表 動態語句怎麼寫
1、首先 日期沒有出現在Group里
2、其次,組成動態的【,isnull(sum(...))】沒有去掉最前面的那個逗號
3、感覺這個語句肯定不會執行成功,最好你把表結構給出,並且給出示例結果來。
③ SQL中內容都為字元型的豎版表轉橫版,如何實現
Word默認為一節,而一節的頁面格式是相同的,若想把一個WORD文件中的每一頁隨意設置成橫版或是豎版,必須將其設置為單獨一節,這樣就可以單獨設置了。
假設有一個10頁文檔,想讓其中第3頁為橫板,設置步驟:
1、將游標放在第3的首位置,單擊頁面布局---->分隔符---->分節符---->下一頁,如圖所示;
2、將游標放在第3頁的尾部,重復上面的操作上,使第3頁成為單獨一節;
3、游標放在第3頁,單擊頁面布局---->紙張方向---->橫向即可,如圖所示。
④ sql如何自動實現更新,豎表變橫表,是要用觸發器還是別的方法實現,具體代碼如何寫
----------這個問題要創建視圖得到你想要的結果需要做一些處理
----------我這里用oracle為例,從建表開始
----創建測試表
droptabletest_1;
createtabletest_1
(gidvarchar(10),
gdescvarchar(100),
ac_datedate,
sale_moneydecimal(18,2),
sale_numdecimal(18,2)
);
-----插入測試數據
insertintotest_1
select'1001','A',to_date('2018/3/1','YYYY/MM/DD'),1000,500fromal
unionall
select'1002','B',to_date('2018/3/1','YYYY/MM/DD'),2000,600fromal
unionall
select'1003','C',to_date('2018/3/1','YYYY/MM/DD'),3000,700fromal
unionall
select'1001','A',to_date('2018/3/2','YYYY/MM/DD'),4000,800fromal
unionall
select'1002','B',to_date('2018/3/2','YYYY/MM/DD'),5000,900fromal
unionall
select'1003','C',to_date('2018/3/2','YYYY/MM/DD'),6000,1000fromal
unionall
select'1001','A',to_date('2018/3/3','YYYY/MM/DD'),7000,1100fromal
unionall
select'1002','B',to_date('2018/3/3','YYYY/MM/DD'),8000,1200fromal
unionall
select'1003','C',to_date('2018/3/3','YYYY/MM/DD'),9000,1300fromal
;
----創建視圖
createviewv_test
as
select*from(
select
gid商品編號
,gdesc商品名稱
,cast(SUM(casewhenac_date=to_date('2018/3/1','YYYY/MM/DD')
thensale_money
else0
end)asvarchar(20))"2018/3/1金額"
,cast(SUM(casewhenac_date=to_date('2018/3/2','YYYY/MM/DD')thensale_money
else0
end)asvarchar(20))"2018/3/2金額"
,cast(SUM(casewhenac_date=to_date('2018/3/3','YYYY/MM/DD')thensale_money
else0
end)asvarchar(20))"2018/3/3金額"
,cast(SUM(casewhenac_date=to_date('2018/3/1','YYYY/MM/DD')thensale_num
else0
end)asvarchar(20))"2018/3/1數量"
,cast(SUM(casewhenac_date=to_date('2018/3/2','YYYY/MM/DD')thensale_num
else0
end)asvarchar(20))"2018/3/2數量"
,cast(SUM(casewhenac_date=to_date('2018/3/3','YYYY/MM/DD')thensale_num
else0
end)asvarchar(20))"2018/3/3數量"
fromtest_1
groupbygid,gdesc
UNIONALL
SELECT''商品編號
,''商品名稱
,'銷售額'"2018/3/1金額"
,'銷售額'"2018/3/2金額"
,'銷售額'"2018/3/3金額"
,'銷售量'"2018/3/1數量"
,'銷售量'"2018/3/2數量"
,'銷售量'"2018/3/2數量"
fromal
)A
orderby商品編號;
-----查詢該視圖信息,看看是否是想要的結果
select*fromv_test;
⑤ SQL豎表轉換為橫表,跪求大俠幫忙!
建表及插入數據
createtablet(姓名varchar(10),課程varchar(10),分數int)
insertintotvalues('張三','語文',74)
insertintotvalues('張三','數學',83)
insertintotvalues('張三','物理',93)
insertintotvalues('李四','語文',74)
insertintotvalues('李四','數學',84)
insertintotvalues('李四','物理',94)
執行語句
select姓名,
'語文'課程1,sum(casewhen課程='語文'then分數else0end)成績1,
'物理'課程2,sum(casewhen課程='物理'then分數else0end)成績2,
'數學'課程3,sum(casewhen課程='數學'then分數else0end)成績3
fromt
groupby姓名
運行結果
⑥ SQL 豎表 轉 橫表
sql case then 函數
⑦ SQL 如何查詢時 豎著的數據 橫著顯示
你這個是將縱表轉換為橫表,例如如下數據:
'wangming', 'shuxue', 100
'wangming', 'yuwen', 90
'wangming', 'yingyu', 140
可以使用如下語句處理:
select a.v_name,a.v_score shuxue,b.v_score yuwen,c.v_score yingyu from temp_1 a,temp_1 b,temp_1 c
where a.v_name=b.v_name
and a.v_name=c.v_name
and a.v_name='wangming'
and a.v_course='shuxue'
and b.v_course='yuwen'
and c.v_course='yingyu';
⑧ SQL 豎表變橫表,自適應的,誰能幫看看。
用sql本身難以實現。 你可以對生成的豎表(轉成csv格式 或 txt 格式)文件,再用pascal 或 c 語言編制轉換程序 進行後處理。
⑨ SQL中豎表變橫表及統計功能實現的問題
在源表加一列月份,輸入月份值。
select
[部門],
[費用項目],
sum(casewhensubstring([日期],5,2)='01'then[金額]else0end)as[1月總],
sum(casewhensubstring([日期],5,2)='02'then[金額]else0end)as[2月總],
sum(casewhensubstring([日期],5,2)='03'then[金額]else0end)as[3月總],
sum(casewhensubstring([日期],5,2)='04'then[金額]else0end)as[4月總],
sum(casewhensubstring([日期],5,2)='05'then[金額]else0end)as[5月總],
sum(casewhensubstring([日期],5,2)='06'then[金額]else0end)as[6月總],
sum(casewhensubstring([日期],5,2)='07'then[金額]else0end)as[7月總],
sum(casewhensubstring([日期],5,2)='08'then[金額]else0end)as[8月總],
sum(casewhensubstring([日期],5,2)='09'then[金額]else0end)as[9月總],
sum(casewhensubstring([日期],5,2)='10'then[金額]else0end)as[10月總],
sum(casewhensubstring([日期],5,2)='11'then[金額]else0end)as[11月總],
sum(casewhensubstring([日期],5,2)='12'then[金額]else0end)as[12月總]
fromtableA
groupby[部門],[費用項目]
⑩ 豎表轉橫表sql語句中的sum求出來的怎麼是int類型
select
姓名,sum(case when 科目='數圓橡學' then 分數 end) as 數學,sum(case when 科目='語文' then
分數橘螞旁 end) as 語文,sum(case when 科目='英語' then 分數 end) as 英語物陪 from 表名
group by 姓名