教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 数据库类教程 · MSSQL教程 · MsSql综合技巧

100分跪求各位大虾

学院最新推荐文章
教程推荐
『100分跪求各位大虾』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2008-9-28 
查询的结果是
select   U.MailAddr,UA.*
from   U   left   join   UA
on   U.MailAddr   =   UA.MailAddr

MailAddr   MailAddr   UATID   UAGID  
jlk             jlk             2           1  
jlk             jlk             22         1  
jlk             jlk             34         1  
jlk             jlk             11         1            
jlk             jlk             37         1  
jlk             jlk             43         1  
fwx             fwx             2           1  
fwx             fwx             22         1    
fwx             fwx             34         1  
fwx             fwx             11         1    
fwx             fwx             37         1  
fwx             fwx             43         1  
aaaa           aaaa           2           1  
aaaa           aaaa           22         1  
aaaa           aaaa           34         1  
aaaa           aaaa           11         1  
aaaa           aaaa           37         1  
aaaa           aaaa           43         1    
lulu           NULL           NULL   NULL  
aaaa           aaaa           49         33  
如测试数据,UAGID=1该组里面有MailAddr=aaaa的数据,而组UAGID=33里面也有aaaa的数据、如果
select   *  
from   U   left   join   UA
on   U.MailAddr   =   UA.MailAddr  
where   UA.UAGID   =   1   or   UA.UAGID   is   null
查询结果将得到UAGID=33组里面的aaaa的值,显然这不是我想求的
我现在只想将
select   *  
from   U   left   join   UA
on   U.MailAddr   =   UA.MailAddr   and   UA.UAGID   =   1
where   UA.MailAddr   is   null
里面的UA.UAGID=1这样的条件放在where之后(U表内没有UAGID,两表关联之靠MailAddr)
麻烦各位了

这个问题第1个回答:
select   *  
from   U   left   join   UA
on   U.MailAddr   =   UA.MailAddr  
where   UA.UAGID   =   1   and   UA.MailAddr   is   null  
这样不行吗?

这个问题第2个回答:
不行,这样查出来的结果是空
这个问题第3个回答:
select   *  
from   U   left   join   UA
on   U.MailAddr   =   UA.MailAddr  
where   UA.UAGID   =   1   or   UA.UAGID   is   null
查询结果将得到UAGID=33组里面的aaaa的值,显然这不是我想求的

---------------

這個UAGID=33的紀錄怎麼會查詢出來?
这个问题第4个回答:
--UAGID=1该组里面有MailAddr=aaaa的数据
select   U.MailAddr,UA.*
from   U   left   join   UA
on   U.MailAddr   =   UA.MailAddr
where   uagid= '1 '   and   u.mailaddr= 'aaaa '
-??????????
这个问题第5个回答:
select   *  
from   U   left   join   UA
on   U.MailAddr   =   UA.MailAddr  
where   UA.UAGID   =   1   or   UA.UAGID   is   null
查询结果将得到UAGID=33组里面的aaaa的值,显然这不是我想求的

---------------

這個UAGID=33的紀錄怎麼會查詢出來?
不好意思,这个写错了
这个问题第6个回答:
我现在有4条数据(4个MailAddr),分别为lulu,fwx,aaaa,jlk,在UAGID=1的组里面有三条数据,jlk,fwx,aaaa,

select   *  
from   U   left   join   UA
on   U.MailAddr   =   UA.MailAddr   and   UA.UAGID   =   1
where   UA.MailAddr   is   null
这样查结果是正确的,MailAddr是主键
select   *  
from   U   left   join   UA
on   U.MailAddr   =   UA.MailAddr
where   UA.MailAddr   is   null   and   (UA.UAGID   =   1   or   UA.UAGID   is   null)
这样查的话在UA.UAGID=1里面结果是正确的,但如果UA.UAGID   =   33呢
select   *  
from   U   left   join   UA
on   U.MailAddr

[1] [2] 下一页  

作者:llftc 来源:C.S.D.N
】【关闭窗口
·上页:
·下页:
相关文章
     数据库类教程 - MsSql综合技巧
普通教程【脑袋快想爆炸了- -!】 怎么样
普通教程关于级联删除地疑难,新手提问,
普通教程怎么样动态控制列数?
普通教程数据库恢复 MS2000
普通教程当数据库中varchar字段值为null
普通教程create function 怎么才无法要返
普通教程各位帮我看看是啥疑难啊, SQL运
普通教程SQL server 2005 安装疑难 SP2更
普通教程sql update
普通教程update触发器地疑难
普通教程字符串地查询疑难
普通教程安全性--登陆--想建一个用户tes
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光