2011-05-14 634 views
0

我需要我們在java中有一個SQL查詢中有一個IN子句。當IN子句是預定的集合時,我已經看到了這樣做的建議,例如在這種情況下不起作用的數字,因爲該集合是動態的。這是我想要做的:如何使用SQL查詢與IN在Java中的select語句

select c.cust_name 
from cust_acct c, has h 
where c.cust_id=h.cust_id 
    and h.sh_add in (select a.sh_add from address a where sh_st='VA') 

我沒有得到任何錯誤。也就是說,代碼運行我只是得不到這個特定查詢的結果

+0

它從鄂先生的回答,這是不是導致我的問題IN子句出現。當我使用他提供的代碼時,我得到的結果同樣不足。我猜想,我有時間去追求不同的道路。謝謝。 – 2011-05-14 15:19:35

回答

0

你是否檢查過你從select a.sh_add from address a where sh_st='VA'得到正確的中間結果?

你可以只重寫查詢爲:

select c.cust_name 
from cust_acct c 
inner join has h 
on c.cust_id=h.cust_id 
inner join address a 
on h.sh_add = a.sh_add 
where a.sh_st = 'VA' 
+0

我檢查了它,它確實返回結果。我只是嘗試了你的代碼,我也得到了相同的結果。如果我嘗試在eclipse的數據庫視圖中以sql的形式執行它,它將返回正確的結果,但是當我嘗試將它作爲main的一部分執行時,我不會得到任何結果。這只是十個查詢中的一個,所有其他查詢都正確返回,這讓我相當確信剩下的代碼(例如getString和print)是正確的。感謝您的建議。 – 2011-05-14 14:48:38