Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql查询的问题_Sql_Mysql - Fatal编程技术网

sql查询的问题

sql查询的问题,sql,mysql,Sql,Mysql,我正在使用MySQL,并尝试构造一个查询来执行以下操作: 我有: Table1 [ID,...] Table2 [ID, tID, start_date, end_date,...] 我想从我的查询中得到的是: Select all entires from Table2 Where Table1.ID=Table2.tID **where at least one** end_date<today. 我现在的工作方式是,如果表2包含例如5个条目,但其中只有1个是end_date

我正在使用MySQL,并尝试构造一个查询来执行以下操作:

我有:

 Table1 [ID,...]
 Table2 [ID, tID, start_date, end_date,...]
我想从我的查询中得到的是:

Select all entires from Table2 Where Table1.ID=Table2.tID 
**where at least one** end_date<today.
我现在的工作方式是,如果表2包含例如5个条目,但其中只有1个是end_date 任何帮助都会很好

谢谢大家!

SELECT * FROM Table2
WHERE tID IN
  (SELECT Table2.tID FROM Table1
   INNER JOIN Table2 ON Table1.ID = Table2.tID
   WHERE Table2.end_date < NOW
  )
子查询将选择与where子句匹配的所有tId。主查询将使用此子查询筛选表2中的条目


注意:使用内部联接将筛选表1中的所有行,表2中没有匹配的条目。这是没有问题的;这些条目无论如何都不会与where子句匹配。

也许,只是也许,您可以创建一个子查询来连接实际的表,在这个子查询中,您可以使用一个计数,稍后可以在where子句中使用