2013-10-14 87 views
-1

嘿家伙我有两个表T1和T2,T1有一个叫做时间的柱面,T2有两个柱面日期和时间。按照方案复杂选择比较

T1 
------------------- 
Time 
------------------- 
10:00 
11:00 
12:00 

T2 
------------------- 
Date  | Time 
------------------- 
2013-10-01 | 10:00 
2013-10-01 | 11:00 
2013-10-01 | 12:00 
2013-10-02 | 10:00 
2013-10-02 | 11:00 

我需要写一个选择返回2013年10月1日,因为这一天的比赛中与ALL T1领域倍。这可能吗?

+0

能告诉你,你已经尝试过什么至今? –

+2

“情结”总是引诱我,而我总是对我内心所感到的失望。 –

+0

我不知道如何开始。 –

回答

1

只要你有这将工作在T1

SELECT T2.Date 
FROM T2 
inner join T1 on T1.Time = T2.Time 
GROUP BY T2.Date 
HAVING COUNT(DISTINCT T1.Time) = 3 

或多个 “通用”,但少高性能的3个值:

SELECT T2.Date 
FROM T2 
INNER JOIN T1 on T1.Time = T2.Time 
GROUP BY T2.Date 
HAVING COUNT(DISTINCT T1.Time) = (select count(distinct Time) from T1); 

SqlFiddle

+0

第二个适合我的需求..谢谢兄弟 –