积极答复者
行数不定的两表查询

问题
答案
-
如果你要查的和C没有关系, 可以 select * from A full join B on A.fk=B.fk where (A.fk='TEST' or B.fk='TEST').
This posting is provided "AS IS" with no warranties, and confers no rights.- 已标记为答案 中國風MVP, Moderator 2010年12月23日 7:05
全部回复
-
如果你要查的和C没有关系, 可以 select * from A full join B on A.fk=B.fk where (A.fk='TEST' or B.fk='TEST').
This posting is provided "AS IS" with no warranties, and confers no rights.- 已标记为答案 中國風MVP, Moderator 2010年12月23日 7:05
-
如果A/B表的字段類型沒有衝突時可用union
select 'A' as TabName,pk,fk,a1,a2,a3 from A where fk='TEST' union all select 'B' as TabName,pk,fk,b1,b2,b3 from B where fk='TEST' --Test來自C的其它字段值時 select t.* from (select 'A' as TabName,pk,fk,a1,a2,a3 from A union all select 'B' as TabName,pk,fk,b1,b2,b3 from B) t inner join C on C.fk=t.fk where c.Name='TEST'
ROY WU(吳熹 ) -
可能是我说的不清楚,我举例说明一下吧。
a.fk = b.fk
比如 A表有一行FK='TEST'数据,B表没有,则查出结果为 a1.value,a2.value,a3.value,null,null,null
反之 则结果为 null,null,null,b1.value,b2.value,b3.value
如果都有的话,则 a1.value,a2.value,a3.value,b1.value,b2.value,b3.value
问题在于 如果使用外连接的话,不能确定哪张表里有数据
提问题真爽
ROY WU(吳熹)