CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

【【类似于主从表,如果从表无对应记录,如何显示主表记录那????】】】】

楼主yyyjff(自己坚强的日子才精彩,坚强的心注定赢得幸福.)2004-12-03 15:41:34 在 MS-SQL Server / 基础类 提问

完整试图创建代码:  
  CREATE   view   v_custListShowInfo  
  as  
  select     A.numCustId,  
  numCustKind=case   A.numCustKind   when   0   then   N'目标客户'   else   N'现有客户'   end,  
  B.nvcCustTypeName,  
  D.nvcCustLevelName,  
  A.dtCreateDate,  
                A.numCreateUserId,  
  A.numCreateGroupId,  
  A.numInduFirstId,  
  A.numInduSecondId,  
  A.numInduThirdId,  
  A.nvcCustName,  
  A.numCounId,  
  A.numProvId,  
  A.numCityId,  
  A.nvcDist,  
  A.nvcTelDistCode,  
  A.nvcTelNo,  
  A.nvcFaxDistCode,  
  A.nvcFaxNo,  
  nvcCustTel=isnull(A.nvcTelDistCode,'')+case   A.nvcTelDistCode   when   ''   then   ''   else   '-'   end+A.nvcTelNo,  
  C.nvcContPerson,  
  C.nvcContDept,  
  nvcCustContactTel=isnull(C.nvcContTelCode,'')+case   C.nvcContTelCode   when   ''   then   ''   else   '-'   end+C.nvcContTelNo  
  From  
  tbCustomerBasic   as   A,  
  tbCustomerContact   as   C,  
  tbVarCustomerType   as   B,  
  tbVarCustomerLevel   as   D  
   
  where  
  A.numCustTypeId=B.numCustTypeId  
  and   A.numCustId=C.numCustId  
  and             A.numCustLevelId=D.numCustLevelId  
  and             C.numContId=(select   top   1   numContId  
                                                  from   tbCustomerContact    
                                              where   numCustId=A.numCustId)  
   
  现在问题   如果C中无对应记录   那么相应的A表记录也就不出来了  
   
  可是我想显示主表记录   这个时候   C表对应记录显示   ‘-’   就可以了  
   
  我的msn   soft_in@hotmail.com  
  大家帮忙     已经N次提问了       埃  
  问题点数:20、回复次数:12Top

1 楼txlicenhe(马可)回复于 2004-12-03 15:46:10 得分 4

SELECT   ....  
  from   A  
  left   join   b   on   ...  
  ......  
  Top

2 楼netcoder(朱二)回复于 2004-12-03 15:46:38 得分 4

这样,把你的a\b\c表的建表语句都贴出来  
  再贴点insert数据的语句来Top

3 楼txlicenhe(马可)回复于 2004-12-03 15:47:11 得分 3

SELECT   ....  
  from   A  
  left   join   b   on   ...  
  ......  
  Top

4 楼yyyjff(自己坚强的日子才精彩,坚强的心注定赢得幸福.)回复于 2004-12-03 15:50:15 得分 0

一个思路     我想     from   C   的时候       对C进行个   union     ‘-’,‘-’,‘-’,‘-’   这样C肯定有记录了Top

5 楼netcoder(朱二)回复于 2004-12-03 15:53:56 得分 2

那你就先试试Top

6 楼yyyjff(自己坚强的日子才精彩,坚强的心注定赢得幸福.)回复于 2004-12-03 15:55:52 得分 0

可是   C.numContId   也不好union上啊  
   
  From  
  tbCustomerBasic   as   A,  
  --tbCustomerContact   as   C,  
  (select   nvcContPerson,nvcContDept,nvcContTelCode,   nvcContTelNo   from   tbCustomerContact   union   select   '10',A.numcustid,'-','-','-','-')   C,  
  tbVarCustomerType   as   B,  
  tbVarCustomerLevel   as   DTop

7 楼netcoder(朱二)回复于 2004-12-03 16:02:56 得分 2

那就先union,然后放到临时表里  
  Top

8 楼yyyjff(自己坚强的日子才精彩,坚强的心注定赢得幸福.)回复于 2004-12-03 16:05:51 得分 0

具体写起来   还是麻烦    
   
  因为   后面还有where   部分     也涉及到C表Top

9 楼netcoder(朱二)回复于 2004-12-03 16:06:48 得分 5

你的要求就很麻烦  
  你怎么不用左连接呢?Top

10 楼yyyjff(自己坚强的日子才精彩,坚强的心注定赢得幸福.)回复于 2004-12-03 16:19:29 得分 0

 
   
  From     tbCustomerBasic   as   A    
            inner   join   tbVarCustomerType   as   B   on   A.numCustTypeId=B.numCustTypeId  
            inner   join   tbCustomerContact   as   C    
                    on   A.numCustId=C.numCustId   and            
                            C.numContId=(select   top   1   numContId  
                                              from   tbCustomerContact    
                                                where   numCustId=A.numCustId)  
  inner   join   tbVarCustomerLevel   as   D   on     A.numCustLevelId=D.numCustLevelId  
   
  去掉了where  
  也不好用啊Top

11 楼yyyjff(自己坚强的日子才精彩,坚强的心注定赢得幸福.)回复于 2004-12-03 16:25:52 得分 0

可以了Top

12 楼yyyjff(自己坚强的日子才精彩,坚强的心注定赢得幸福.)回复于 2004-12-03 16:26:10 得分 0

用的   left   join     就ok   了Top

相关问题

  • 主从表结构,主表插入新记录时,当插入关联字段后,从表的显示问题。
  • 为什么主从表模式下,主表处于append状态时,从表只能新增一条记录?
  • 请问左连接情况下,主从表的显示中主表记录如何才能只显示一次,而不是从表有几条主表记录重复显示
  • 删除主表记录的问题
  • 有主从两个表,为什么必须主表保存从表在新增的时候才显示记录,有没有解决的方法?
  • 用clientdataset建立的主从表后,再想用clientdataset1.delete删除主表的记录,却被告知不能连带删除从表记录,请问高手该如何操作。
  • 查询主表中关联表中没有的记录
  • 在三层结构中,我想在客户端体现出主从表的记录,就象两层的一样,主表变化,从表也变化,应该怎么实现??谢谢。
  • 如何在添加主表的记录时,子表自动添加与主表相关的字段.
  • 急,主从表操作中,从表新加记录有错误

关键词

  • nvcteldistcode
  • case
  • then
  • else

得分解答快速导航

  • 帖主:yyyjff
  • txlicenhe
  • netcoder
  • txlicenhe
  • netcoder
  • netcoder
  • netcoder

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo