gpt4 book ai didi

mysql - 复杂的 MySQL 命令出现问题。我可以做这样的复合陈述吗?

转载 作者:行者123 更新时间:2023-11-29 08:33:06 24 4
gpt4 key购买 nike

我可以在数据库中搜索一个元素,其中我的PreparedStatement的参数之一是从我通常作为单独语句创建的变量中找到的值吗?

所以我想做

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);

那么有没有办法将它们复合成两个语句?即:类似...

"SELECT COUNT(*) FROM table1 WHERE Name = (user_ID FROM users WHERE username = theirName); 

编辑:这可能更清楚。假设我有一个汽车表,其中每辆车都有一个名称和一个 Owner_ID。我有一个用户表,其中每个用户都有名称、密码和 ID。每辆车的车主 ID 都是用户的 ID 之一。

所以我真正想要得到的(在一个语句中)是所有名称为 X 的汽车的计数,其中它们的车主 ID = 用户 Y 的 id。

最佳答案

这是通过将表连接在一起来完成的:

SELECT COUNT(*) FROM 
table1 t1
JOIN table2 t2 ON t2.name = t1.name
WHERE t1.name = "John" AND t2.user_ID = 2342433

关于mysql - 复杂的 MySQL 命令出现问题。我可以做这样的复合陈述吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16007565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com