dbA中有如下表AA,字段有Pid,name,price等
dbB中有如下表BB,字段有Pid,use等
其中AA,BB中的PID是相关联的,即两个Pid的值是一样的,
现在我要实现的功能是查询表AA中的所有信息,但是如果表BB中字段use的值为ture则不读取此条,如果为false则符合条件。
这点的SQL查询应该怎样写,请各位高手指点。
10 个解决方案
#1
查找联邦数据库
#2
先使用DB2的“联合数据库对象”功能,把一个数据库映射到另一个库里
SELECT * FROM AA LEFT OUTER JOIN BB ON AA.PID = BB. PID WHERE BB.USER = 'TURE'
SELECT * FROM AA LEFT OUTER JOIN BB ON AA.PID = BB. PID WHERE BB.USER = 'TURE'
#3
use dblink
select * from aa a,bb@dblinkname b where a.pid=b.pid and b.user='false'
#4
SELECT * FROM 服务器名称1.dbA.dbo.AA A1
LEFT JOIN 服务器名称2.dbB.dbo.AA A2 ON A1.Pid = A2.Pid
WHERE A2.Use = false
LEFT JOIN 服务器名称2.dbB.dbo.AA A2 ON A1.Pid = A2.Pid
WHERE A2.Use = false
#5
lz试试看
#6
顶!
#7
select * from aa where pid in (select pid from bb where user='false')
#8
正解!
#9
join 一夏。
#10
用这种方法应该没错。
#1
查找联邦数据库
#2
先使用DB2的“联合数据库对象”功能,把一个数据库映射到另一个库里
SELECT * FROM AA LEFT OUTER JOIN BB ON AA.PID = BB. PID WHERE BB.USER = 'TURE'
SELECT * FROM AA LEFT OUTER JOIN BB ON AA.PID = BB. PID WHERE BB.USER = 'TURE'
#3
use dblink
select * from aa a,bb@dblinkname b where a.pid=b.pid and b.user='false'
#4
SELECT * FROM 服务器名称1.dbA.dbo.AA A1
LEFT JOIN 服务器名称2.dbB.dbo.AA A2 ON A1.Pid = A2.Pid
WHERE A2.Use = false
LEFT JOIN 服务器名称2.dbB.dbo.AA A2 ON A1.Pid = A2.Pid
WHERE A2.Use = false
#5
lz试试看
#6
顶!
#7
select * from aa where pid in (select pid from bb where user='false')
#8
正解!
#9
join 一夏。
#10
用这种方法应该没错。