两张表表A
fID-------subID
d0---------d1
d0---------d2
d0---------d3
r0---------r1
r0---------r2
r0---------r3表B
subID
d1
d2
d3
r1
r2
查处表A 父ID下的所有子ID 都在表B出现的 父ID
按上面例子 符合要求的只有d0
fID-------subID
d0---------d1
d0---------d2
d0---------d3
r0---------r1
r0---------r2
r0---------r3表B
subID
d1
d2
d3
r1
r2
查处表A 父ID下的所有子ID 都在表B出现的 父ID
按上面例子 符合要求的只有d0
解决方案 »
- 为什么创建表时,Invalid default value for
- 问一个sql语句
- 非root账户如何从控制台登录mysql?
- 这读取有毛病吗
- mysql如何同步主服务器和从服务器。谢谢。
- 数据库连接插入数据表的时候却出现错误,Can not issue data maniulation statements with executeQuery()
- 怎样把一个select 语句的查询结果写到一个文件中.
- 在MySQL中怎样导入sql文件。在线等。
- 用tomcat5.0,使用哪个版本的mysql比较好
- datetime timestamp查询性能咨询
- 数据库并发处理
- mysql慢查询日志,c:/xampp/mysql/bin/my.cnf
left join tb b on a.subID=b.subID
group by a.fID
having count(a.subID)=count(b.subID)
SELECT fid
FROM a k
WHERE NOT exists (
SELECT fid
FROM a LEFT JOIN b ON a.subID=b.subID
WHERE b.subID IS NULL AND a.fid=k.fid)
FROM a k
WHERE NOT exists (
SELECT *
FROM a LEFT JOIN b ON a.subID=b.subID
WHERE b.subID IS NULL AND a.fid=k.fid)
修改下
where not exists (select 1 from A where fID=t.fID and subID not in (select subID from B))
select aa.fid from( select a.fid,a.subid,b.subid as bid from table1 a left join table2 b on a.subid=b.subid) aa
group by aa.fid
having count(aa.bid)=count(aa.subid);
create table table1(fid varchar(20),subid varchar(20));
create table table2(subid varchar(20));
insert into table1 values
('d0','d1'),('d0','d2'),('d0','d3'),
('r0','r1'),('r0','r2'),('r0','r3');insert into table2 values('d1'),('d2'),('d3'),('r1'),('r2');
insert into table2 values('r3');
where not exists (select 1 from A where fID=t.fID and subID not in (select subID from B))
select a2.subID from A a2 where a1.fID = a2.fID and a2.subID in (
select distinct(b1.subID) from B b1
)
) group by a1.fID