sql - 如何解决子查询返回多于一行

标签 sql

我在数据库中有三个表,其中第一个表由客户的自由职业者部分第二个表和 3 个表组成,其中当客户选择自由职业者时,3 个表存储自由职业者的 id 和客户的 id。但是当我想检索客户选择的自由职业者的信息时,它会在标题中显示上述错误 这是我的查询

SELECT * FROM `freelancer_detail` 
WHERE f_id = (select freelancer_id 
from shortlisted_freelancers 
where shortlisted_id =(SELECT postJob_id from client_detail 
WHERE client_email = "joshua@gmail.com")) 

最佳答案

如果另一个表中有多个值,请使用 IN 子句,

SELECT * FROM `freelancer_detail` 
WHERE f_id in (select freelancer_id 
from shortlisted_freelancers 
where shortlisted_id  in (SELECT postJob_id from client_detail 
WHERE client_email = "joshua@gmail.com"))

关于sql - 如何解决子查询返回多于一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62040892/

相关文章:

c# - 动态 LINQ : Compare date between today and four weeks ago

SQL Server 查询以获取连续出现的次数

mysql - SQL 3 - 表查询

尽管记录不存在,SQL主键约束

php - 返回与变量相同的 id 的前 10 个最常出现的值。 300 万行以上

mysql - 查询连接上的最大值

sql - 如何检查值的最后 4 位数字是否在 SQL Server 中的范围内

sql - 如何显示在azure sql中创建 View 的查询

sql - 插入 id(自动生成,仅列)

SQL 大小写选择