MySQL“;及;声明问题

MySQL“;及;声明问题,mysql,datetime,Mysql,Datetime,我有2张表(下面的示例) 我想提取name、datein都相等且dateout都为空的数据 我正在使用下面的查询,但得到的是空响应 SELECT name,datein FROM aTable WHERE (name = 'test' AND dateout IS NULL) AND (SELECT name FROM bTable WHERE name = 'test' AND dateout IS NULL) 有什么我遗漏的吗?试试这个 SELECT name,dat

我有2张表(下面的示例)

我想提取
name
datein
相等
dateout
为空的数据

我正在使用下面的查询,但得到的是空响应

SELECT name,datein 
FROM aTable 
WHERE (name = 'test' AND dateout IS NULL) AND 
      (SELECT name FROM bTable WHERE name = 'test' AND dateout IS NULL)
有什么我遗漏的吗?

试试这个

  SELECT name,datein,dateout FROM(select * from atable union select * from btable)as tt 
where tt.name ='test' and tt.dateout is null;
试试这个

  SELECT name,datein,dateout FROM(select * from atable union select * from btable)as tt 
where tt.name ='test' and tt.dateout is null;

您需要将
EXISTS
添加到查询中:

SELECT t1.name, t1.datein 
FROM aTable AS t1
WHERE (t1.name = 'test' AND t1.dateout IS NULL) AND 
      EXISTS(SELECT name 
             FROM bTable AS t2
             WHERE t2.name = 'test' AND 
                   t2.datein = t1.datein AND
                   t2.dateout IS NULL)
或者,不为
name
字段提供特定值:

SELECT t1.name, t1.datein 
FROM aTable AS t1
WHERE t1.dateout IS NULL AND 
      EXISTS(SELECT name 
             FROM bTable AS t2
             WHERE t2.name = t1.name AND 
                   t2.datein = t1.datein AND
                   t2.dateout IS NULL)

您需要将
EXISTS
添加到查询中:

SELECT t1.name, t1.datein 
FROM aTable AS t1
WHERE (t1.name = 'test' AND t1.dateout IS NULL) AND 
      EXISTS(SELECT name 
             FROM bTable AS t2
             WHERE t2.name = 'test' AND 
                   t2.datein = t1.datein AND
                   t2.dateout IS NULL)
或者,不为
name
字段提供特定值:

SELECT t1.name, t1.datein 
FROM aTable AS t1
WHERE t1.dateout IS NULL AND 
      EXISTS(SELECT name 
             FROM bTable AS t2
             WHERE t2.name = t1.name AND 
                   t2.datein = t1.datein AND
                   t2.dateout IS NULL)

为什么要试试这个?它改变了什么?它有什么作用?解释你的答案。为什么要尝试这个?它改变了什么?它有什么作用?解释你的答案。