1樓:匿名使用者
create table [流水錶]
([姓名] nvarchar(30),
[班級] nvarchar(30),
[備註] nvarchar(30))
create table [課程**表]
([姓名] nvarchar(30),
[一班] int, [二班] int , [三班] int)
insert into [流水錶] values('張三', '二班', '備註1'),
('李四', '三班', '備註2'),
('王五', '二班', '備註3'),
('趙六', '一班', '備註4'),
('張三', '一班', '備註5')
insert into [課程**表] values('張三', 1, 2 ,3 ),
('李四', 4, 5 ,6 ),
('王五', 7, 8 ,9 ),
('趙六', 1 ,2, 3 )
go---1 行列轉換
/*select [姓名],[班級],[課程**]
from [課程**表]
unpivot([課程**] for [班級] in([一班] , [二班] , [三班]))as test
go*/
---2 左連線
select a.[姓名],b.[課程**],a.[班級],a.[備註] from [流水錶] as a
left join (
select [姓名],[課程**],[班級]
from [課程**表]
unpivot([課程**] for [班級] in([一班] , [二班] , [三班]))as test
) as b on a.[姓名] = b.[姓名]
and a.[班級] = b.[班級]
go drop table [流水錶]
drop table [課程**表]
2樓:
這個問題 有什麼問題嗎???想查幾列就查幾列啊??不是很明白你的問題。
sql如何合併多個查詢結果 5
3樓:匿名使用者
合併結果一般用union或者union all,具體用什麼取決於需求。
如資料如下:
a表:id name
1 張三
2 李四
3 王五
b表:id name
1 張三
2 趙六
3 孫七
如果select id,name from aunion all
select id,name from b;
結果:id name
1 張三
2 李四
3 王五
1 張三
2 趙六
3 孫七
如果:select id,name from aunion
select id,name from b;
結果:id name
1 張三
2 李四
3 王五
2 趙六
3 孫七
也就是說union all在執行後,不會把相同的結果合併,而union會把相同的結果只顯示成一行。
4樓:酒好爛
1.兩個不同的表進行查詢,需要把結果合併,
比如table1的列為 id, user_id, type_id,pro_id;
table2的列為 id,user_id,collect_id;分別如下圖所示
table1:
table2:
2.將兩個表的查詢結果合併到一起的查詢語句為
select *, null as collect_id from table1 where user_id = 527
union
select id,user_id,null as type_id,null as pro_id, collect_id from table2 where user_id = 527;
3.結果為:
總結:其實就是把對應的列補充到沒有該列的表中,在例子中就是把collect_id補充到table1中,
把type_id,pro_id補充到table2中。
5樓:匿名使用者
用union 關鍵字啊
但是使用這個關鍵字你需要知道
並操作1所有查詢中的列數和列的順序必須相同2資料型別必須相容啊
6樓:禹希初
select ypbm from mz_ypxx_tcunionselect ypmc from mz_ypxx,mz_ypxx_tc where mz_ypxx_tc.ypbm=mz_ypxx.ypbmunionselect tcbm from mz_ypxx_tcunionselect ypmc from mz_ypxx_tc,mz_ypxx where mz_ypxx_tc.
tcypbm=mz_ypxx.ypbm
sql表中同時查詢兩個count的sql語句
可以有兩種解決方法。方法1 select name count 1 as 總題數 sum case when statu 1 then 1 else 0 end as 稽核題數 from question group by nme 方法2 select s.總題數,s.稽核題數,s.name fro...
用sql語言查詢兩個表的問題,用sql語言查詢兩個表的問題
select from s,ss 這查出來的是一個笛卡爾集。2個表的記錄條數的乘積哪麼多條記錄。你可以用左 右連線來關聯。select from s left jion ss on s.id ss.id 或者select from ss left jion s on s.id ss.id 這樣就可以...
SQL資料表聯合查詢問題
select n.name,n.zs,p.wc,p.wc nvl n.zs,100 100 此處比率演算法請自己驗證修改 from select b.name,m.zs from b left join select dw,count id zs from a group by dw m on b....