请教SQL大神们一个问题

有两个表A和B,主键都是物品号(WPH),两表主键相同,两个表中都有字段存货仓库号(CHCK),我想查询B表中CHCK这个字段中的数据和A表中CHCK数据不一样的那些物品... 有两个表A和B,主键都是物品号(WPH),两表主键相同,两个表中都有字段存货仓库号(CHCK),我想查询B表中CHCK这个字段中的数据和A表中CHCK数据不一样的那些物品号,大神们帮下忙,万分感谢! 展开
 我来答 举报
闪闪红红星
2012-02-27 · TA获得超过924个赞
知道小有建树答主
回答量:613
采纳率:0%
帮助的人:381万
展开全部
很简单啊,脑补未测试:
select a.wph from a inner join b on a.wph = b.wph
where a.chck <> b.chck
追问
不对啊,查询出来的,数据两边是一样的
追答
不会啊,你执行
select a.wph,a.chck, b.chck from a inner join b on a.wph = b.wph
where a.chck b.chck
结果发出来看看?
flyingFish211
2012-02-27 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
Try this one:

select WPH
FROM B t
WHERE EXISTS (SELECT 1 FROM A where WPH = t.WPH and CHCK <> t.CHCK)
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
王海超521
2012-02-27 · TA获得超过852个赞
知道小有建树答主
回答量:406
采纳率:0%
帮助的人:382万
展开全部
select * from B
where exists (select 1 from a where a.wph=b.wph and a.chck<>b.chck);
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
cong__聪
2012-02-27 · 超过28用户采纳过TA的回答
知道答主
回答量:121
采纳率:100%
帮助的人:67.6万
展开全部
select B.chck
from A,B
where A.wph=B.wph and A.chck<>B.chck
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
百度网友3c5eee5
2012-02-27 · TA获得超过118个赞
知道答主
回答量:124
采纳率:0%
帮助的人:61万
展开全部
select b.wph from a,b where a.check<>b.check and a.wph=b.wph.
追问
这个我试过了,不对的,您再帮忙想想!
追答
你是不是想查check只在b 表中,不在a表中的数据。
如果按你止面说的,楼上查询的表应该是b之外应该没错,我的也没错
不然就是
select b.wph from b where b.check not in (select distinct a.check from a);
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
百度网友8243043
2012-02-27 · TA获得超过247个赞
知道小有建树答主
回答量:240
采纳率:100%
帮助的人:159万
展开全部
create table tb_course(
id int auto_increment primary key,
name varchar(20)
);

create table tb_stu(
id int auto_increment primary key,
name varchar(20),
age varchar(5),
sex varchar(5),
address varchar(20)
);

create table stu_cou(
sid int(11),
cid int(11)
);
-- 添加外键约束
/* 添加外键约束 */

insert into tb_course(name) values('tt');
insert into tb_course(name) values('ttt');
insert into tb_course(name) values('ss');
insert into tb_course(name) values('xx');
insert into tb_stu(name,age) values('tt','22');
insert into tb_stu(name,age) values('ttt','22');
insert into tb_stu(name,age) values('mm','22');
insert into tb_stu(name,age) values('ms','22');

alter table stu_cou add constraint stu_cou_FK foreign key (sid) references tb_stu(id);
alter table stu_cou add constraint cou_stu_FK foreign key (cid) references tb_course(id);

-- 查询2张表相同字段不同的名称的值
select c.name,s.name from
tb_course c join tb_stu s on
s.name not in (select c.name from tb_course c)

where c.id=s.id ;

-- 查询一张表与另一张表相同字段不同名称的值
select s.name from tb_stu s
where exists (select * from tb_course c where c.id=s.id and c.name<>s.name);
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式