sql count函数 查询 返回0

我有三个表:表A,表B,表C,三个表都有一个共同的字段’单位名称‘,表A:单位名称,接受任务名称,表B:单位名称,任务是否验收,表C:单位名称,任务合格情况。现在我举个例... 我有三个表:表A,表B,表C,三个表都有一个共同的字段’单位名称‘,表A:单位名称,接受任务名称,表B:单位名称,任务是否验收,表C:单位名称,任务合格情况。现在我举个例子吧:如表A单位名称是‘北京大学’,接受任务名称是‘奥运会比赛地’。表B单位名称是‘北京大学’,任务是否验收是‘是’。表C没有记录(意思就是验收完以后暂时没有给出一个是否合格的情况)现在我想建一个视图来展现三者的关系:如下表:

单位名称 接受任务名称 任务是否验收 任务合格情况

北京大学 奥运会比赛地 是 -

现在我遇到的情况就是 如果三个表中有一个没有填写的话视图里面就没有记录,我是以三表的单位名称为where子句的,哪位数据库高手帮我想想办法吧,我这样的视图具体该如何写啊?
展开
 我来答
百度网友6cf810b68
2008-11-02 · TA获得超过946个赞
知道大有可为答主
回答量:1403
采纳率:0%
帮助的人:1531万
展开全部
视图里的查询语句这样写

SELECT 表A.单位名称,表A.接受任务名称,表B.任务是否验收,ISNULL
(
(SELECT 任务合格情况 FROM 表C WHERE 表C.任务名称=表A.任务名称),'-'
)
AS 任务合格情况 FROM 表A,表B WHERE 表A.单位名称=表B.单位名称
冰火战地
2008-11-02 · TA获得超过141个赞
知道小有建树答主
回答量:416
采纳率:0%
帮助的人:180万
展开全部
select 表A.单位名称,表A.接受任务名称,(select 任务是否验收 from 表B where 单位名称=表A.单位名称) as 任务是否验收,(select 任务合格情况 from 表C where 单位名称=表A.单位名称)as 任务合格情况 from 表A

只要表A 有数据,就会显示出来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
远一北07
2008-11-02 · 超过87用户采纳过TA的回答
知道小有建树答主
回答量:276
采纳率:0%
帮助的人:124万
展开全部
Left Join,外联接
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式