sql兩個表多列聯合查詢,SQL如何合併多個查詢結果

時間 2021-10-14 22:25:42

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....