求条SQL语句

cqnucsmoon 2003-10-16 05:53:41
有两个表:
表一结构 (表名:B1)
字段:A B C .....其它字段

表一中的数据是已经设置好了的不再变了的


表二结构 (表名:B2)
字段:A B C .....其它字段(与表一不同了)
现在我想找出表二中所有满足以下条件的记录:
如果B2.A=B1.A但B2.B的值却不在B1.B值中;

如果B2.A=B1.A且B2.B=B1.B值,但B2.C的值又不在B1.C中

不知道行不?
...全文
34 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
银狐被占用 2003-10-17
  • 打赏
  • 举报
回复
select * from B2 join B1 on B2.A=B1.A AND B2.B NOT IN (SELECT B1.B FROM B1)

SELECT * FROM B2 JOIN B1 ON B2.A=B1.A AND B2.B=B1.B AND B2.B NOT IN (SELECT B1.C FROM B1)
cqnucsmoon 2003-10-17
  • 打赏
  • 举报
回复
解决了,应该这样:
select * from b2 where b2.b not in (select distinct b1.b from b1 where b1.a=b2.a)
CrazyFor 2003-10-16
  • 打赏
  • 举报
回复
TRY:

select * from b1 inner join b2 on
(b2,a=b1.a and b2.b not in(select b from b1))
or
(b2.a=b1.a and b2.b=b1.b and b2.c not in (select c from b1))
---涛声依旧--- 2003-10-16
  • 打赏
  • 举报
回复
select distinct b2.* from b1,b2 where b2.a=b1.a and b2.b not in(select distinct b from b1)
cqnucsmoon 2003-10-16
  • 打赏
  • 举报
回复
可是我执行的时候提示说至少一个参数没有指定,然后我在第一个FROM之后再加上 ,b1就没有这个问题了,但选择出来的有很多重复的数据.
wuxinhua_ok 2003-10-16
  • 打赏
  • 举报
回复
select * from b2 where b2.b not in (select distinct b1.b from b2 inner join b1
on b2.a=b1.a)
txlicenhe 2003-10-16
  • 打赏
  • 举报
回复
Select * from B2 join B1 on B2.A = B1.A
where B2.B not in (select B1.B from B1)


Select * from B2 join B1 on B2.A = B1.A and B2.B = B1.B
where B2.c not in (select B1.c from B1)

friendliu 2003-10-16
  • 打赏
  • 举报
回复
select * from b2 where b2.a=b1.a and b2.b not in(select distinct b from b1)
double22822 2003-10-16
  • 打赏
  • 举报
回复
select clumns from b2 where b2.a = b1.a and b2.b not in (select distinct b from b2 );
下一个道理一样。
自己写得没试过,自己调试吧。

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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