PreparedStatement の引数の 1 つに、通常は別のステートメントとして作成する変数から見つかった値を持つデータベース内の要素を検索できますか?
だからやりたい
preparedStatement = conn.prepareStatement("SELECT COUNT(*) FROM table1 WHERE Name = ? AND WHERE user_ID = ?);
preparedStatement.setString(1, name);
preparedStatement.setString(2, userID);
rs = preparedStatement.executeQuery();
現状を除いて、別のテーブルで userID 変数を見つけるには別のステートメントが必要です。何かのようなもの:
preparedStatement = conn.prepareStatement("SELECT user_id FROM users WHERE name = ?);
preparedStatement.setString(1, theirName);
これらを 2 つのステートメントに合成する方法はありますか? 例:次のような...
"SELECT COUNT(*) FROM table1 WHERE Name = (user_ID FROM users WHERE username = theirName);
編集:これはより明確かもしれません。各車に名前と Owner_ID がある Cars のテーブルがあるとします。また、各ユーザーが名前、パスワード、および ID を持つユーザーのテーブルがあります。すべての車の所有者 ID は、ユーザー ID の 1 つです。
したがって、(1 つのステートメントで) 本当に取得したいのは、所有者 ID = ユーザー Y の ID である、名前 X のすべての車の数です。