select CODE,DDATE,PORNO,VEN from POT where PORNO='HC0907-0247'
SELECT PANNO,PORNO,CODE,BDESC,QTY,UNIT,TDATE,LOTNO,VEN FROM ANT WHERE PANNO='HCAN09091489'
SELECT CODE,TAXUP,VEN,TDATE FROM VQUT WHERE CODE='UOD00018800'AND VEN='017'要得到的效果是 PANNO          PORNO         CODE      BDESC                QTY    UNIT  TDATEE   LOTNO  VEN  DDATE       TAXUP
HCAN09091489 HC0907-0247 UOD00018800 胶袋 200*240*0.03 PE 3840.0000 PCS 2009-09-15 090701 017 2009-09-11 0.04300000

解决方案 »

  1.   

    TAXUP 0.04300000这个数据咋来的?三张join就可以了
      

  2.   

    select * from Ant a join vqut b on a.code=b.code
    用中间个和下面个就可以了。
      

  3.   


    UOD00003100 2009-09-11 00:00:00.000 HC0907-0247 017
    UOD00018800 2009-09-11 00:00:00.000 HC0907-0247 017HCAN09091489 HC0907-0247 UOD00018800 胶袋 200*240*0.03 PE 3840.0000 PCS 2009-09-15 00:00:00.000 090701 017
    HCAN09091489 HC0908-0534 UOD00000900 印刷袋 0.03*230*350MM PE 11869.0000 PCS 2009-09-15 00:00:00.000 090764 017
    HCAN09091489 HC0908-0534 UOD00001000 印刷袋 0.03*300*420MM PE 11869.0000 PCS 2009-09-15 00:00:00.000 090764 017
    HCAN09091489 HC0907-0662 UOD00018800 胶袋 200*240*0.03 PE 3787.0000 PCS 2009-09-15 00:00:00.000 090729-01 017UOD00018800 0.04600000 017 2009-11-19 00:00:00.000
    UOD00018800 0.04300000 017 2010-12-21 00:00:00.000
      

  4.   

    TAXUP 0.04300000这个数据是UOD00018800的它最新值
      

  5.   

     
    --这个可以不?
    select a.CODE,a.DDATE,a.PORNO,a.VEN,b.PANNO,b.PORNO,b.CODE,b.BDESC,b.QTY,b.UNIT,b.TDATE,b.LOTNO
           c.TAXUP,c.TDATE
    from POT a,ANT b,VQUT c
    where a.CODE=b.CODE and a.PORNO=b.PORNO
     and a.PORNO='HC0907-0247' and b.PANNO='HCAN09091489' and c.CODE='UOD00018800' and a.VEN='017'
      

  6.   

    要知道CODE它在ANT里面的PANNO,PORNO,CODE,BDESC,QTY,UNIT,TDATE,LOTNO,VEN这些信息跟POT里面的DDATE,还有VQUT里面的TAXUP
      

  7.   

    SELECT * FROM ANT join POT
    on ANT.CODE=POT.CODE and  ANT.PORNO=POT.PORNO 
    join VQUT
    on POT.CODE=ANT.CODE and ANT.TDATE=VQUT.TDATE
    where ANT.PORNO='HC0907-0247'
    直接三表连就行
      

  8.   

    SELECT * FROM ANT join POT
    on ANT.CODE=POT.CODE and ANT.PORNO=POT.PORNO  
    join VQUT
    on POT.CODE=ANT.CODE and ANT.TDATE=VQUT.TDATE
    where ANT.PANNO='HCAN09091489'
    select * from ANT WHERE PANNO='HCAN09091489'
    (40 行受影响)(4 行受影响)
      

  9.   

    那是你的where筛选条件不够你得说明 为什么那其他的数据不符合你的要求?多加连接条件和where条件
      

  10.   


    SELECT     TOP (100) PERCENT PANNO, PORNO, CODE, BDESC, QTY, UNIT, VEN, TDATE, LOTNO,
                              (SELECT     TOP (1) TAXUP
                                FROM          dbo.VQUT
                                WHERE      (CODE = dbo.ANT.CODE) AND (VEN = dbo.ANT.VEN)) AS TAXUP,
                              (SELECT     TOP (1) PERCENT DDATE
                                FROM          dbo.POT
                                WHERE      (CODE = dbo.ANT.CODE) AND (PORNO = dbo.ANT.PORNO)
                                ORDER BY TDATE DESC) AS DDATE
    FROM         dbo.ANT为在DDATE这里它不显示最新值?