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

時間 2021-10-14 22:24:01

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 兩表連線查詢的問題

可以,下面的sql文你可以參考一下 select a.id,b.type,b.prid idfrom a a inner join c c on a.id c.id left join b b on a.type b.type and b.prid id c.prid id 完全可以實現,使用左外連...

sql兩表一對多查詢問題

深刻如此 這應該是乙個1對多的對映關係 1個員工可以對應多條業績記錄 那麼可以設員工表的主鍵是員工id,並且作為業績表的外來鍵。比如業績表叫做achievement table員工id對應的列為employee id 比如員工表叫做employee table 主鍵id為員工id,以及表中有列emp...