Mysql 具有日期范围的SQL IN运算符
我试图从表2中的表1中进行选择,其中表2包含特定的日期范围。我试过很多不同的问题;其中一些我收到语法错误,还有一些日期范围不起作用 当前:Mysql 具有日期范围的SQL IN运算符,mysql,sql,Mysql,Sql,我试图从表2中的表1中进行选择,其中表2包含特定的日期范围。我试过很多不同的问题;其中一些我收到语法错误,还有一些日期范围不起作用 当前: SELECT DISTINCT f FROM table1 WHERE f IN(f.table2) as s WHERE s.time > '2013-01-01 00:00:00' AND s.time < '2013-01-07 00:00:00' ORDER BY s.time 我找不到更深入的例子了。如有任何建议,请留下评论,以获取
SELECT DISTINCT f
FROM table1
WHERE f IN(f.table2) as s
WHERE s.time > '2013-01-01 00:00:00' AND s.time < '2013-01-07 00:00:00'
ORDER BY s.time
我找不到更深入的例子了。如有任何建议,请留下评论,以获取更多信息
WHERE子句在查询中只能存在一次,除非它在
子查询中,若要将in
子句与另一个选择一起使用,您需要遵循以下模式:
SELECT *
FROM TABLE1
WHERE X IN ( SELECT OneColumnOnly FROM Table2)
AND TIME BETWEEN '1/1/2012' AND '1/1/2013'
表1中的列X必须与表2中的OneColumnOnly
类型相同,或者像INT
隐式转换为VARCHAR
请编辑您的问题并显示示例数据和所需结果。您可能会惊讶地发现,非工作代码通常不能很好地表达意图。@GordonLinoff-我添加了一张图片,试图展示我所拥有的和我所期望的。我设定了不同的日期,但我主要是想表明我希望在一周内安排好日期。simle table1和table2应该是什么样子?联接会更快更清晰,但问题已经很模糊了……我能不能在和语句之前的in
语句中使用别名<代码>意外标记:在第1行附近,您必须发布SQL以便我回答。
SELECT *
FROM TABLE1
WHERE X IN ( SELECT OneColumnOnly FROM Table2)
AND TIME BETWEEN '1/1/2012' AND '1/1/2013'