这道题怎么做呀?

还有一天就放假了丶 2018-07-05 03:50:35
不知道怎么做,需要求助
...全文
537 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianlang_2008 2018-08-10
  • 打赏
  • 举报
回复
select p.ID_P
,max(p.Name) as Name
,max(p.Address) as Address
,max(case when v.Type='Phone' then v.Value else '' end) as Phone
,max(case when v.Type='ID' then v.Value else '' end) as ID
,max(case when v.Type='Department' then v.Value else '' end) as Department
from person p left join value v on p.ID_P=v.ID_P
group by p.ID_P
bianguji 2018-07-11
  • 打赏
  • 举报
回复
select p.id_p,p.name,p.address,v1.value phone,v2.value ID,v3.value Department
from person p,value v1,value v2,value v3
where p.id_p=v1.id_p(+)
and v1.type(+)='Phone'
and p.id_p=v2.id_p(+)
and v2.type(+)='ID'
and p.id_p=v3.id_p(+)
and v3.type(+)='Department'
and exists(
select * from value v4 where v4.id_p=p.id_p
)



select p.id_p,p.name,p.address,
(select value from value v1 where v1.id_p=p.id_p and v1.type='Phone') phone,
(select value from value v1 where v1.id_p=p.id_p and v1.type='ID') id,
(select value from value v1 where v1.id_p=p.id_p and v1.type='Department') department
from person p
where exists(
select * from value v4 where v4.id_p=p.id_p
)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧