我有一个候选表
id candidate_name
---------------------------
1 john
2 mary
表单位
name
--------
unit1
unit2
unit3
并取得了一张桌子
id cand_id unit
----------------
1 1 unit3
2 2 unit1
3 2 unit2
我想生成一个输出
id candidate_name unit1 unit2 unit3
---------------------------------------
1 john null null Y
2 mary Y Y null
我有什么办法可以做到这一点?
DDL
create table candidates (id int, name varchar(20))
create table units (name varchar(20))
create table achieved(id int, cand_id int, unit varchar(20))
insert into candidates values(1,'john'),(2,'mary')
insert into units values('unit1'),('unit2'),('unit3')
insert into achieved values(1,1,'unit3'),(2,2,'unit1'),(3,2,'unit2')
是的,但您必须为此使用动态 SQL。
下次请添加脚本来生成数据。