日期:2014-05-19  浏览次数:20873 次

求SQL联合查询语句一条,在线等
现在有表结构如下:
Corp表:id,简称,全称
CorpCtatMan   :id,企业id,联系人姓名,电话,是否是默认值
CorpCtatMan的企业id为Corp表的id
现在要求实现如下功能的查询语句:
显示所有企业的所有是否是默认值等于1的联系人信息,如果该企业没有联系人信息或该企业联系人表中的的是否为默认值均为0,则只显示企业的简称,全称信息
corp:1         aa         aaa
          2         bb         bbb
          3         cc         ccc
CorpCtatMan:   1       1       张山       012345         1
                          2       1       李四       489163         0  
                          3       2       王五       29379           0
查询结果:
id         简称         联系人         电话
1           aa               张山           012345
2           bb
3           cc


                     


------解决方案--------------------
select a.id , a.简称 , b. 联系人 , b.电话
from corp a left join (select * from CorpCtatMan where 是否是默认值=1 ) b
on a.id=b.企业id


*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------

select 简称,联系人姓名,电话 from corp ,CorpCtatMan where corp.id=CorpCtatMan.id and 是否是默认值
=1 union select 简称, ' ' as 联系人姓名, ' 'as 电话 from corp ,CorpCtatMan where corp.id=CorpCtatMan.id and 是否是默认值
=0