【问题标题】:SQLite SELECT not returning anythingSQLite SELECT 不返回任何内容
【发布时间】:2016-02-21 01:07:04
【问题描述】:

这可以返回一个名字:

SELECT Fname, Lname FROM EMPLOYEE WHERE dno = 4 AND Ssn = 999887777;

返回员工的姓名。

但这什么也没返回:

SELECT Fname, Lname FROM EMPLOYEE WHERE dno = 4 AND Ssn = (SELECT essn FROM WORKS_ON);

我想获取在 WORKS_ON 表中找到其员工 SSN 的 4 号部门的所有员工的姓名。

'essn' 和 'Ssn' 都是 9 个字符的文本字段,可在其他上下文中使用。

【问题讨论】:

  • 运行此查询时会发生什么SELECT essn FROM WORKS_ON

标签: sql sqlite


【解决方案1】:

您不能使用= 将一个值与返回多个值的子查询进行比较。

判断Ssn是否在子查询结果中的方法是使用IN

SELECT Fname, Lname 
FROM EMPLOYEE 
WHERE dno = 4 
  AND Ssn IN (SELECT essn FROM WORKS_ON);

【讨论】:

  • 天啊!完美运行。谢谢你
猜你喜欢
  • 2018-01-25
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-01
  • 1970-01-01
  • 2010-12-22
  • 1970-01-01
相关资源
最近更新 更多