设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2824|回复: 11
打印 上一主题 下一主题

[查询] 求一个查询语句

[复制链接]
跳转到指定楼层
1#
发表于 2007-12-7 20:59:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
(不好意思,原来的描述有错误)

有二个表;
表1: 字段1,数字型,有重复; 字段2,数字型,有重复
表2: 字段1,数字型,有重复; 字段2,数字型,有重复

求查询:表1的字段1=1,字段2与(表2的字段1=1中的字段2)不重复的内容

要一个查询完成,不要用not in (因为那个太慢)

例子在4楼,不知道我表达清楚了没?
表1的字段1=1成为一个数据集
表2的字段1=1成为一个数据集,
要比较这两个数据集中不重复的字段2

要是分步解决可以实现,但是我希望一条语句搞定.

[ 本帖最后由 情比金坚 于 2007-12-8 02:47 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-12-7 21:26:35 | 只看该作者
能上传例子吗
3#
发表于 2007-12-7 21:34:47 | 只看该作者
SELECT [qid]-[qid2] AS qidx, [qty]-[qty2] AS qtyx
FROM tbl1 INNER JOIN tbl2 ON tbl1.qid = tbl2.qid2
WHERE ((([qid]-[qid2])<>0)) OR ((([qty]-[qty2])<>0));
  这样行不行
4#
发表于 2007-12-7 21:39:35 | 只看该作者
对了qid-qid2是多余的,因为是内联的关系,你可以设成左联或右联
这样就筛除了ID不同的值,然后第二个字段相减一下如果不是0就是不同了
5#
发表于 2007-12-7 21:40:22 | 只看该作者
如果第二字段是文本,可用STRCOMP这个函数来对比数据
6#
 楼主| 发表于 2007-12-8 02:38:12 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
发表于 2007-12-8 07:43:44 | 只看该作者
如果只是要找出第一个表中符合条件的纪录,用下面的查询试试。如果要同时找出第一个表和第二个表中符合条件的纪录,可以在这个查询基础上用联合查询。
select a.*
from [select * from tab1 where tb1_lesson=1;]. as a left join [select * from tab2 where tab2_lesson=1;]. as b on a.tb1_word = b.tab2_word
where b.tab2_word is null
8#
发表于 2007-12-8 08:47:59 | 只看该作者
不是很明白,你要得到什么结果了
9#
发表于 2007-12-8 20:12:13 | 只看该作者
不知是不是你要的结果
  1. SELECT a.tb1_Lesson, a.tb1_Word
  2. FROM tab1 AS a LEFT JOIN [SELECT tab1.tb1_Lesson, tab1.tb1_Word
  3. FROM tab1 INNER JOIN tab2 ON (tab1.tb1_Word = tab2.tab2_word) AND (tab1.tb1_Lesson = tab2.tab2_lesson)
  4. ]. AS b ON (a.tb1_Word = b.tb1_Word) AND (a.tb1_Lesson = b.tb1_Lesson)
  5. WHERE (((b.tb1_Word) Is Null))
  6. ORDER BY a.tb1_Lesson, a.tb1_Word
复制代码
10#
 楼主| 发表于 2007-12-8 22:18:07 | 只看该作者
谢谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 23:45 , Processed in 0.087514 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表