簡體   English   中英

如何在另一個准備好的語句中使用 PreparedStatement 作為子查詢

[英]How to use a PreparedStatement as a subquery in another prepared statement

我在代碼中使用PreparedStatement進行查詢。 例如:

PreparedStatement stmt = db.con.prepareStatement("select id from nodes where x>? and x<? and y>? and y<?");           
stmt.setDouble(1, x1); 
... //set a value for each param 1 thru 4

現在我有另一個查詢想要使用與上面完全相同的查詢作為子查詢。 所以我可以這樣做:

PreparedStatement stmt2 = db.con.prepareStatement("select id from edges where startNodeId in 
(select id from nodes where x>? and x<? and y>? and y<?)");

但這是重復的,我可能會修改第一個PreparedStatement並希望這些更改傳播到第二個。 有沒有辦法將准備好的語句設置為另一個語句中的子查詢?

也許類似於stmt2.setPreparedStatement(2, stmt)

只需將兩個查詢合並為一個SELECT語句即可。

SELECT x,y,z FROM tablez WHERE id IN (SELECT id FROM "your first query")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM