日期:2014-05-16  浏览次数:20521 次

根据表A的某字段查询表B中的字段
表A中有ProID字段,表B中有ProID和ProName,现在想通过表A的ProID查询表B中的ProName应该怎么写?
比如表A有个ProID='1001',应该怎么从表B中查询出ProName呢?太久没用了,有点忘记了。谢谢!
------解决方案--------------------
select b.*
from a,b
where a.proid = b.proid
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

select b.*
from a,b
where a.proid = b.proid


select b.*
from a,b
where a.proid = b.proid AND a.proid='1001'
可是会出现6条相同的记录出来。


对了,表B中同一个proid的记录有好多条。


试试这个:
select b.*
from b
where exists (select 1 from a where a.proid = b.proid AND a.proid='1001')

------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

Quote: 引用:

select b.*
from a,b
where a.proid = b.proid


select b.*
from a,b
where a.proid = b.proid AND a.proid='1001'
可是会出现6条相同的记录出来。


对了,表B中同一个proid的记录有好多条。


试试这个:
select b.*
from b
where exists (select 1 from a where a.proid = b.proid AND a.proid='1001')


您好,我加了个distinct 上去,不懂会不会影响结果?测试了几条数据暂时没问题。
select  distinct b.*
from a,b
where a.proid = b.proid AND a.proid='1001'


哦,可以的,不过这样性能比较差,比较好的还是上面我写的exists的写法