一个难的问题请教了

MARYS2007 2009-04-14 10:30:30
表s1:
字段
xh
001
002
表s2
字段
xm
aaa
bbb
ccc
表qq
字段
xm xh
aaa 002
aaa 003
bbb 001
bbb 003
ccc 001
ccc 003
ddd 001
ddd 003
根据这三个表得出:表ss
表ss
字段
xm xh
aaa 001
bbb 002
ccc 002

其中表ss中xh必须是表s1中的记录,不是的就不判断.xm必须是表s2中的记录,不是的就不判断.都从表qq中进行判断的.
该如何得出呢?
SELECT S2.xm,S1.xh FROM S1,S2 WHERE s1.xh NOT IN (SELECT DISTINCT qq.xh FROM QQ,S2 WHERE ALLTRIM(QQ.XM)==ALLTRIM(S2.XM) )
我这样写了没有出来结果.
又试了好几种方法都没有完全出来,请各位老师帮忙.多谢了
...全文
110 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
MARYS2007 2009-04-15
  • 打赏
  • 举报
回复
呵呵呵,就是一个判断是否存在,将不存在的显示出来.
已经解决了.多谢各位老师拉
aaa6567821 2009-04-15
  • 打赏
  • 举报
回复
越看越迷糊啊!
wwwwb 2009-04-15
  • 打赏
  • 举报
回复
SELECT a.* FROM (;
SELECT * FROM s1,s2 ORDER BY xm,xh) a;
left join qq b;
ON a.xm=b.xm AND a.xh=b.xh WHERE b.xm is null
xy111222333 2009-04-15
  • 打赏
  • 举报
回复
你的qq表的xh字段出现的值是不是都包含在表s1的xh字段?qq表的xm字段出现的值是不是都包含在表s2的xm字段?如果都已经包含了,那么s1、s2两个表没有什么实际意义了。
“其中表ss中xh必须是表s1中的记录,不是的就不判断.xm必须是表s2中的记录,不是的就不判断.都从表qq中进行判断的. ”按这句话理解就是没有全包含。这样理解的话:
表qq
字段
xm xh
eee 001
eee 002
那么:
表ss是否不包含
字段
xm xh
eee 003

十豆三 2009-04-15
  • 打赏
  • 举报
回复
如果你的表QQ中的XM 或 XH包含 表1 或 表2中的数据,那要表1 和表2 就没有意义。

你的表1 和 表2不可能就只有一个字段吧。表QQ中的字段也不是这两个吧。

另外你的表QQ的XM或XH字段应该不包含于表1中的XM或表2中的XH吧。
needanothercoder 2009-04-14
  • 打赏
  • 举报
回复
路过帮顶
ACMAIN_CHM 2009-04-14
  • 打赏
  • 举报
回复


select s1.xh,s2.xm
from s1 , s2
where not exists (select 1 from qq where xm=s2.xm and xh=s1.xh)


或者

select x.*
from (
select s1.xh,s2.xm
from s1 , s2) x left join qq on x.xh=qq.xh and x.xm=qq.xm
where qq.xh is null
MARYS2007 2009-04-14
  • 打赏
  • 举报
回复
终于求出来了.不过为一个记录字段了,没有成两个记录字段

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧