咨詢大佬們一個問題
我有兩張表,a表結構如下
A
test_id name
1 張三
B表
id test_id type name
1 1 1 李四
2 1 2 王五
B表根據type有兩個不同階段的驗收人,請問下我該怎么通過左鏈接在一條記錄里把他們都查出來,感謝感謝!
uj5u.com熱心網友回復:
希望查出來的結果是test_id name type_a name_a type_b name_b
這樣,感謝感謝,百度了好久沒找到方法
uj5u.com熱心網友回復:
create table A表(test_id int,name varchar(10))
insert into A表(test_id,name)
select 1,'張三'
create table B表(id int,test_id int,type int,name varchar(10))
insert into B表(id,test_id,type,name)
select 1,1,1,'李四' union all
select 2,1,2,'王五';
with t as(
select a.test_id,a.name,b.type,qname=b.name
from A表 a
join B表 b on a.test_id=b.test_id
)
select test_id,
name,
type_a=1,
name_a=[1],
type_b=2,
name_b=[2]
from t
pivot(max(qname) for type in([1],[2])) b
/*
test_id name type_a name_a type_b name_b
----------- ---------- ----------- ---------- ----------- ----------
1 張三 1 李四 2 王五
(1 row affected)
*/
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/284783.html
標籤:疑難問題