SQL語句一:
SELECT * FROM TAICON_TB JOIN
              TAICON_TA JOIN
              INPUT_B JOIN
              INPUT_A ON INPUT_B.B001 = INPUT_A.A001 AND 
              INPUT_B.B006 = INPUT_A.A012 ON
              TAICON_TA.TA001 = INPUT_B.B002 ON
              TAICON_TB.TB002 = TAICON_TA.TA006
         WHERE (TAICON_TB.TB003 = '5') AND 
               (INPUT_A.A002 = '1') AND 
               (TAICON_TA.TA001 LIKE 'TA%') AND 
               (INPUT_A.A014 = '[3]207 來料待處理品倉')
上面的結果得出:
原表
TB001 TB002 TB003  TA001 TA002 .. TA007 B001 B002 .. B005 A001 A002 .. A014
...   ...   ...    TAQ01 ...   .. ...   ..   TAQ01.. 2300      2006.11.02 
...   ...   ...    TAQ13 ...   .. ...   ..   TAQ13.. 2500      2006.11.15 
...   ...   ...    TAQ21 ...   .. ...   ..   TAQ21.. 4200      2006.12.10 
...   ...   ...    TAQ35 ...   .. ...   ..   TAQ35.. 5200      2006.12.16上面
TA001 為品號 
B002 也是品號,是另一個表合在一起的 
B005 是 數量
A002 是 日期SQL語句二:
SELECT B005 FROM TAICON_TB JOIN
              TAICON_TA JOIN
              INPUT_B JOIN
              INPUT_A ON INPUT_B.B001 = INPUT_A.A001 AND 
              INPUT_B.B006 = INPUT_A.A012 ON
              TAICON_TA.TA001 = INPUT_B.B002 ON
              TAICON_TB.TB002 = TAICON_TA.TA006
         WHERE (TAICON_TB.TB003 = '5') AND 
               (INPUT_A.A002 = '1') AND (INPUT_A001<'2006.12.00')
               (TAICON_TA.TA001 LIKE 'TA%') AND 
               (INPUT_A.A014 = '[3]207 來料待處理品倉')
上面的結果得出:
 TA001 | B005
-------------
 TAQ01   2300
 TAQ12   2500
 ...     ...現在怎樣在用一條SQL語句將上面的語句並在一起,算出上月結存和本月結存
我如果用Select TA001,sum(SQL語句一) from (SQL語句二) Group by TA001將上面兩條語句代入的話,會提示SELECT語句附近錯誤?能不能這樣嵌套呢?

解决方案 »

  1.   

    SELECT A.* ,B.B005 AS NEWB005 FROM 
    (SELECT B005 FROM TAICON_TB JOIN
                  TAICON_TA JOIN
                  INPUT_B JOIN
                  INPUT_A ON INPUT_B.B001 = INPUT_A.A001 AND 
                  INPUT_B.B006 = INPUT_A.A012 ON
                  TAICON_TA.TA001 = INPUT_B.B002 ON
                  TAICON_TB.TB002 = TAICON_TA.TA006
             WHERE (TAICON_TB.TB003 = '5') AND 
                   (INPUT_A.A002 = '1') AND (INPUT_A001<'2006.12.00')
                   (TAICON_TA.TA001 LIKE 'TA%') AND 
                   (INPUT_A.A014 = '[3]207 來料待處理品倉')
    ) A INNER JOIN (SELECT TA001,B005 FROM TAICON_TB JOIN
                  TAICON_TA JOIN
                  INPUT_B JOIN
                  INPUT_A ON INPUT_B.B001 = INPUT_A.A001 AND 
                  INPUT_B.B006 = INPUT_A.A012 ON
                  TAICON_TA.TA001 = INPUT_B.B002 ON
                  TAICON_TB.TB002 = TAICON_TA.TA006
             WHERE (TAICON_TB.TB003 = '5') AND 
                   (INPUT_A.A002 = '1') AND (INPUT_A001<'2006.12.00')
                   (TAICON_TA.TA001 LIKE 'TA%') AND 
                   (INPUT_A.A014 = '[3]207 來料待處理品倉'))B
    ON A.TA001=B.TA001
      

  2.   

    Select TA001,sum(SQL語句一) 
    from 
    (
    SQL語句二
    )as re 
    Group by TA001