0

我有两张桌子 tb1 和 tb2

tb1
-----
tb1Id

tb2
-----
tb2Id | tb1Id | dateTB2提交 | 时间输入

加入 tb1 时如何从各个行中找到最低日期。例如:

SELECT tb1.tb1id, 
       tb2.datetb2submitted, 
       tb2.timein 
FROM   tb1, 
       tb2 
WHERE  tb1.tb1id = tb2.tb1id 

+-------------+----------------------+----------+
| tb1.tb1Id   | tb2.dateTB2Submitted | timeIn   |
+-------------+----------------------+----------+
|           1 | 2011-04-02           | 11:00:00     
|           1 | 2011-04-02           | 10:30:00      <--i want this
|           2 | 2011-04-29           | 12:30:00     
|           2 | 2011-04-29           | 10:30:00      <--i want this
4

2 回答 2

0

Try this:

SELECT tb1.tb1id, 
       tb2.datetb2submitted, 
       Min(tb2.timein) AS timeIn 
FROM   tb1 
       INNER JOIN tb2 
               ON tb1.tb1id = tb2.tb1id 
GROUP  BY tb1.tb1id, 
          tb2.datetb2submitted 
于 2013-02-07T20:51:22.700 回答
0

尝试这个

SELECT tb2.tb2id, tb2.tb1id, tb2.datetb2submitted, Min(tb2.timein) AS timeIn
FROM tb2 JOIN 
(
  SELECT tb1.tb1id, MIN(tb2.datetb2submitted) AS datetb2submitted
  FROM tb1 INNER JOIN tb2 ON tb1.tb1id = tb2.tb1id
  GROUP  BY tb1.tb1id
) AS lowestdate 
ON lowestdate.tb1id = tb2.tb1id AND lowestdate.datetb2submitted = tb2.datetb2submitted
GROUP BY tb2.tb1id
;
于 2013-02-08T00:08:12.260 回答