有4个表,如出库单表,bill, 第一种商品表t1,第二中商品表t2,第三种商品表t3这4个表以单号作为关联,4个表中都含有单号字段,怎样把出库单中单号相等的记录查询出来。我用 
select × from bill,t1,t2,t3 
where bill.billno=t1.billno and bill.billno=t2.billno and  bill.billno=t3.billno
查出大量重复记录怎样在同一行上匹配4个表中的数据啊

解决方案 »

  1.   

    这4个表以单号作为关联,4个表中都含有单号字段,怎样把出库单中单号相等的记录查询出来。--
    你的是单号,直接bill表就可以的呀
      

  2.   

    直接?
    select × from bill,t1,t2,t3 
    where bill.billno=t1.billno and bill.billno=t2.billno and  bill.billno=t3.billno 有太多重复的行,因为billno,在每个表中都不是唯一的,一个单上可能出t1,t2,t3中的商品好几样
      

  3.   

    两个表 直接select * from bill,t1 where bill.billno=t1.billno 没问题,4个表就出现重复记录了,好像其他几个表间t1,t2,t3 也进行匹配了,所以出现了太多的类似重复行
      

  4.   

    意思很明确,说明billno中与其它几个表都是一对多或多对多。bill
    1
    2
    3t1
    1
    2
    1
    2
    3t2
    1
    1
    1当然会有很多重复行了。 因为t1与t2(这里我就不说t3了,多个表本质不变)中单号为1的,你自己都不知道应该让他们怎么组合。还是基本的二维概念的问题。