2017-02-07 160 views
0

我正在使用MysqliMysql篩選子查詢

如何執行篩選子查詢結果的單個查詢?可能嗎?

我需要從特定時間戳期間的子查詢結果中找到用戶。

SELECT * FROM表WHERE(使用子查詢結果,即SELECT ...)BETWEEN 2017-01-08 09:00:00和2017-01-08 12:00:00。

我應該回去A先生和B先生

子查詢結果:

TimeIn     User  TimeOut 
2017-01-06 10:00:00  Mr A  2017-01-08 11:00:00 
2017-01-07 10:00:00  Mr A  2017-01-08 12:00:00 
2017-01-08 10:00:00  Mr A  2017-01-08 13:00:00 
2017-01-08 09:00:00  Mr B  2017-01-08 11:00:00 

謝謝大家對你的幫助,因爲我完全迷失了方向就如何做到這一點。

+0

是SELECT * FROM(使用子查詢結果中選擇即...)的子表表WHERE subtable.TimeIn 2017年間-01-08 09:00:00和2017-01-08 12:00:00。 – mandar

+0

請參閱http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查詢 – Strawberry

回答

1

像這樣

SELECT * FROM 
(
    select ... 
) subquery_alias_name 
where timeIn BETWEEN '2017-01-08 09:00:00' AND '2017-01-08 12:00:00' 

不要忘了給子查詢的別名

+0

where subquery_alias_name.timeIn BETWEEN'2017-01-08 09:00:00'AND'2017-01-08 12:00:00'以避免衝突 – mandar

+0

當只涉及一個表或子查詢時,則不需要引用每列的表名 –