我有3张桌子,如下所示。
表“ mansioni”:
id_mansione | desc_mansione
1 | production
2 | office
3 | transport
表“ dipendente”:商店ID,名称和姓氏:
id_dip | nome_dip | cognome_dip
1 | piero | rossi
2 | marco | rossi
表dipendenti_iddip:存储“ dipendente”和表“ mansioni”之间的关联
iddip_mansione | num_mansione | id_mansione
1 | 1 | 1
1 | 2 | 2
2 | 1 | 2
2 | 2 | 3
现在,我需要一个查询,给我这样的结果:
id_dip | nome_dip | cognome_dip | mansione1 | mansione2 | mansione3
1 | piero | rossi | production| office |
2 | marco | rossi | office | transport |
我到达以下查询,但是只能看到“ id_mansione”字段而不是“ desc mansione”字段
select i.id_dip,
i.nome_dip,
i.cognome_dip,
max(case when t.num_mansione='1' then t.id_mansione end) Mansione1,
max(case when t.num_mansione='2' then t.id_mansione end) Mansione2,
max(case when t.num_mansione='3' then t.id_mansione end) Mansione3
from dipendente i
left join dipendenti_iddip t
on i.id_dip = t.iddip_mansione
group by i.id_dip, i.nome_dip, i.cognome_dip
我如何得出结果?谢谢...
添加连接mansioni
并替换t.id_mansione
为m.desc_mansione
select i.id_dip,
i.nome_dip,
i.cognome_dip,
max(case when t.num_mansione = '1' then m.desc_mansione end) Mansione1,
max(case when t.num_mansione = '2' then m.desc_mansione end) Mansione2,
max(case when t.num_mansione = '3' then m.desc_mansione end) Mansione3
from dipendente i
join dipendenti_iddip t
on i.id_dip = t.iddip_mansione
join mansioni m on m.id_mansione = t.id_mansione
group by i.id_dip
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句