2011-07-14 45 views
0

接收到錯誤「期望在'gcv'和'AND'關鍵字之間出現錯誤現在我試着在兩者之間放置一個」WHERE「並且我得到」 WHERE'關鍵字和「AND」關鍵字。任何幫助是極大的讚賞!聯合查詢中返回的SQL錯誤

      `SELECT gcv.i_pln, 
      gcv.c_typ_cov, 
      gcv.d_eff, 
      gcv.d_eff_pln, 
      gcv.c_sta, 
      gcv.d_sta, 
      gcv.c_mde_bft_fst, 
      gcv.a_bft_fst, 
      gcv.c_mde_bft_sec, 
      gcv.a_bft_sec, 
      gcv.c_mde_bft_trd, 
      gcv.a_bft_trd, 
      gcv.p_cre_hom, 
      gcv.c_cl_rsk, 
      gpv.c_val 

      FROM Pearl_P.tltc906_gcv gcv, 

      pearl_p.tltc912_gpv gpv 




      WHERE gcv.i_pln > 0 
      AND gcv.i_pln = gpv.i_pln 
      AND gpv.i_prv = 36 

     UNION 

      SELECT 
      gcv.i_pln, 
      gcv.c_typ_cov, 
      gcv.d_eff, 
      gcv.d_eff_pln, 
      gcv.c_sta, 
      gcv.d_sta, 
      gcv.c_mde_bft_fst, 
      gcv.a_bft_fst, 
      gcv.c_mde_bft_sec, 
      gcv.a_bft_sec, 
      gcv.c_mde_bft_trd, 
      gcv.a_bft_trd, 
      gcv.p_cre_hom, 
      gcv.c_cl_rsk, 
      '' 


      FROM Pearl_P.tltc906_gcv gcv 



      AND NOT EXISTS(
      SELECT 1 
      FROM pearl_p.tltc906_gcv gcv, 
      pearl_p.tltc912_gpv gpv 

      WHERE gcv.i_pln > 0 
      AND gcv.i_pln = gpv.i_pln 
      AND gpv.i_prv = 36) 

`

回答

1
WHERE NOT EXISTS 

,而不是

AND NOT EXISTS 
0

您需要解決這方面的:

FROM Pearl_P.tltc906_gcv gcv 
WHERE NOT EXISTS (
    SELECT 1 
    FROM pearl_p.tltc906_gcv, 
     pearl_p.tltc912_gpv 
) AND gcv.i_pln > 0 
    AND gcv.i_pln = gpv.i_pln 
    AND gpv.i_prv = 36) 

的邏輯可能仍然是錯誤的 - 它看起來可疑。但這至少應該運行。

0

這是您的查詢的第二部分:

FROM Pearl_P.tltc906_gcv gcv 

這裏--Something需要前和

 AND NOT EXISTS(
     SELECT 1 
     FROM pearl_p.tltc906_gcv gcv, 
0

你有這樣的...

 FROM Pearl_P.tltc906_gcv gcv 



     AND NOT EXISTS(

要麼你要應用到整個聯合在一起的結果......

SELECT * FROM (
    <query 1> 
UNION ALL 
    <query 2> 
) 
WHERE 
    NOT EXISTS (...) 

,或者你只是缺少WHERE說法,你有AND

+0

完美 - 感謝你們! – gfuller40