select * from Img union all select * from Images where PersonID='231027197112226617' or ID='001523198203050016' or ID='13072119740408082X' or ID='220622197104120028'
Img 表为空,符合记录的也只有Images表里有4条记录,但联合表一搜索出来的记录有好几十条(几十条都是无关的记录),为什么??

select * from Images  where ID='231027197112226617' or ID='001523198203050016' or ID='13072119740408082X' or ID='220622197104120028' (搜索出4条记录)

解决方案 »

  1.   

    执行下面的呢?
    select * from Img union  select * from Images where PersonID='231027197112226617' or ID='001523198203050016' or ID='13072119740408082X' or ID='220622197104120028'
      

  2.   


    --注意union all和union的区别select * from Img union select * from Images where PersonID='231027197112226617' or ID in('001523198203050016' ,'13072119740408082X' ,'220622197104120028')
      

  3.   

    报错: image 数据类型不能选为 DISTINCT,因为它不可比。
      

  4.   

    楼主呀,仔细查查是不是第一条
    select * from Img union all select * from Images where PersonID='231027197112226617' or ID='001523198203050016' or ID='13072119740408082X' or ID='220622197104120028'中的PersonID应该为ID
      

  5.   

    select ID from Images union select * from Img where ID='231027197112226617' or ID='001523198203050016' or ID='13072119740408082X' or ID='220622197104120028'使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式。select * from Images union select * from Img where ID='231027197112226617' or ID='001523198203050016' or ID='13072119740408082X' or ID='220622197104120028'
    image 数据类型不能选为 DISTINCT,因为它不可比。
      

  6.   

    select ID from Images 
      union
    select ID from Img where ID='231027197112226617' or ID='001523198203050016' or ID='13072119740408082X' or ID='220622197104120028'这样看应该清楚一点儿,你现在的where条件是针对Img表的,根本不会对Images表产生筛选的作用 
      

  7.   

    现在这种查询方式会把Images表里的全部数据都查出来的表A union 表B   是将表A、B查询结果做拼接,同时去掉相同项,现在表A的数据都被查出来的最后的结果肯定不对喽
      

  8.   

    我倒,我说的还不清楚吗?where PersonID='231027197112226617' or ID='001523198203050016' or ID='13072119740408082X' or ID='220622197104120028' 中的PersonID和ID分别是指哪个表的,不要把两个表的查询条件写在一起select * from Img where ID='001523198203050016' or ID='13072119740408082X' or ID='220622197104120028'
    union select * from Images where PersonID='231027197112226617'
      

  9.   

    不好意思,看得有点儿乱了,查询条件中的ID和PersonID是哪个表的?
      

  10.   

    你的Where没有作用到Img表 把你的Where条件也加到Img表的查询中