主表:USER USER_ID, USER_NAME
BILLHUANG BILLHUANG
子表:CONTACT USER_ID,CONTACT_TYPE,CONTACT_TEXT
BILLHUANG QQ 178000
BILLHUANG MOBILE 13913911111
BILLHUANG MAIL HUANG@HOTMAIL.COM
现在想用SQL语句
SELECT USER.USER_ID,USER.USER_NAME,CONTACT.CONTACT_TYPE AS QQ,CONTACT.CONTACT_TYPE AS MOBILE,CONTACT.CONTACT_TYPE AS MAIL FROM USER USER,CONTACT CONTACT ............. WHERE USER.USER_ID = CONTACT.USER_ID
实现这样的目的:
生成一条记录
USER_ID,USER_NAME, QQ, MOBILE, MAIL
BILLHUANG,BILLHUANG,178000,13913911111,HUANG@HOTMAIL.COM
这个语句怎么写呢?
select u.user_id,u.user_name,
max(decode(c.contact_type,'QQ',c.contact_text)) QQ,
max(decode(c.contact_type,'MOBILE',c.contact_text)) MOBILE,
max(decode(c.contact_type,'MAIL',c.contact_text)) MAIL
from USER u, CONTACT c
where u.user_id = c.user_id
group by u.user_id,u.user_name;######谢谢!######case when + group by######谢谢!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。