CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

很奇怪的问题,请大家帮忙,谢谢

楼主jackbaby()2005-04-02 11:32:31 在 MS-SQL Server / 基础类 提问

问题一:  
   
  select   a.SaleNoteID,a.CustID,a.ConstMoney,a.SaleEmpID,a.AuditEmpID,a.CreateEmpID,a.SaleDate,a.AuditDate,a.CreateDate,a.flag,a.isDelete,b.CustID,b.custname,c.EmpName    
   
  from    
  salenote   a,   customer   b,   employee   c    
   
  where    
  a.SaleNoteID   ='1'  
   
  就会出现这样的结果  
   
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0001 xxxxx admin  
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0001 xxxxx xxxxx  
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0001 xxxxx xxxxx  
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0001 xxxxx xxxxx  
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0001 xxxxx xxxxx  
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0001 xxxxx xxxxx  
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0001 xxxxx 1  
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0002 test admin  
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0002 xxxxx xxxxx  
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0002 test xxxxx  
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0002 test xxxxx  
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0002 test xxxxx  
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0002 test xxxxx  
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL 0002 test 1  
   
   
   
  而如果,去掉其他两个表的关联查询  
  a.SaleNoteID,a.CustID,a.ConstMoney,a.SaleEmpID,a.AuditEmpID,a.CreateEmpID,a.SaleDate,a.AuditDate,a.CreateDate,a.flag,a.isDelete  
   
  from    
  salenote   a    
   
  where    
  a.SaleNoteID   ='1'  
  结果是  
   
   
  1 1 NULL NULL NULL NULL NULL 1905-06-22   00:00:00.000 NULL NULL NULL  
   
   
  而这个是SaleNoteID表中正确的数据  
  但是我上面的关联的查询的时候  
  from    
  salenote   a,   customer   b,   employee   c  
   
  怎么会多出那么多数据啊??我看其它表好像也没有啊??谢谢  
   
   
  问题二:  
   
  我写    
  insert   salenote   (corpid,salenoteid   ,deptid,custid,auditdate,SalePriceTypeID)  
  values   (4,4,4,4,2003-04-2,1)  
   
  得时候这个月份总是插不进去,总是默认的1905-06-22   00:00:00.000,但是我看管理器中的设计表中,好像也没有设置默认时间的样子,而且在管理器中手动添加却是可以成功的添加2003-04-2的!~  
   
  请问各位大哥,上面两个问题是怎么回事啊??能帮帮忙吗??谢谢了,谢谢  
   
  问题点数:20、回复次数:6Top

1 楼xluzhong(Ralph)回复于 2005-04-02 11:58:09 得分 10

where是把三个表都显示出来  
  left   join显示左联的字段  
   
  -----  
   
  时间和字符串一样,得用单引号   eg:'2003-04-2'Top

2 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-02 12:02:14 得分 0

问题二:  
   
  我写    
  insert   salenote   (corpid,salenoteid   ,deptid,custid,auditdate,SalePriceTypeID)  
  values   (4,4,4,4,2003-04-2,1)  
   
  得时候这个月份总是插不进去,总是默认的1905-06-22   00:00:00.000,但是我看管理器中的设计表中,好像也没有设置默认时间的样子,而且在管理器中手动添加却是可以成功的添加2003-04-2的!~  
   
  ---------------------------------------  
   
  改为  
  insert   salenote   (corpid,salenoteid   ,deptid,custid,auditdate,SalePriceTypeID)  
  values   (4,4,4,4,'2003-04-2',1)  
  试试  
   
  Top

3 楼paoluo(一天到晚游泳的鱼)回复于 2005-04-02 12:07:45 得分 10

 
  select   a.SaleNoteID,a.CustID,a.ConstMoney,a.SaleEmpID,a.AuditEmpID,a.CreateEmpID,a.SaleDate,a.AuditDate,a.CreateDate,a.flag,a.isDelete,b.CustID,b.custname,c.EmpName    
   
  from    
  salenote   a,   customer   b,   employee   c    
   
  where    
  a.SaleNoteID   ='1'  
   
  产生那么多数据的原因是没有加上a,b,c三表关联的条件  
   
  你的c表的EmpID对应a表的哪个字段??  
   
  写出来,我可以帮你改写语句。Top

4 楼jackbaby()回复于 2005-04-02 15:52:19 得分 0

想了一中午,还是没想出来,还是得麻烦麻烦大家,谢谢  
   
   
  上午的这个sql是这样的    
   
   
  //销售出库单号的赋值查询  
  if(strSaleNoteID!=""   &&   strSaleNoteID!=null)  
  strWhere   +=   "   or   a.SaleNoteID   =   '"+strSaleNoteID+"'"   ;  
  //客户的赋值查询  
  if(CustomerName!=""   &&   CustomerName!=null)  
  strWhere   +=   "   or   b.custname   ='"+CustomerName+"'";  
   
   
  strSql   =   "select   a.SaleNoteID,a.CustID,a.ConstMoney,a.SaleEmpID,a.AuditEmpID,"  
  +   "a.CreateEmpID,a.SaleDate,a.AuditDate,a.CreateDate,a.flag,a.isDelete,"  
  +   "b.custname,c.LinkMan"  
  +   "   from   salenote   a,   customer   b,   Dept   c"  
  +   "   where   a.CustID=b.CustID   and   a.CorpID=c.CorpID"   +   strWhere;  
   
   
  向关联的表字段为  
   
  表对应:  
  a.CustID=b.CustID  
  表对应  
                    a.CorpID=c.CorpID  
   
  我单独查询Dept表的时候,只有一行字段值,但是用上面的查询的时候,会出来很多查询结果??  
  这是那里的问题没有考虑到啊??  
  要怎么考虑和修改那??  
  能否帮帮忙?谢谢了,谢谢各位Top

5 楼jackbaby()回复于 2005-04-02 16:11:53 得分 0

在帮忙看看好吗??谢谢各位大哥了,谢谢Top

6 楼jackbaby()回复于 2005-04-02 16:36:50 得分 0

再次谢谢了,谢谢,帮忙看看好吗??Top

相关问题

  • 很奇怪~
  • 很奇怪!
  • 很奇怪的问T
  • 奇怪的问题!真的很奇怪!
  • 很是奇怪!编译程序老是错误!高手请进!
  • 一个很奇怪的问题!!!!!!!!!!!大侠请进!!!
  • 很奇怪的Dll问题,高手请进
  • 很奇怪的问题,请大家进来看看.急!!!!
  • 很奇怪的问题,请教各位大虾
  • 请各位帮我看看这段程序,很奇怪!

关键词

  • 字段
  • 查询
  • nullnullnullnullnull
  • salenoteid
  • nullnullnull0001
  • xxxxxxxxxx11
  • custid
  • salenote
  • corpid
  • 谢谢

得分解答快速导航

  • 帖主:jackbaby
  • xluzhong
  • paoluo

相关链接

  • SQL Server类图书

广告也精彩

反馈

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