0

我想从中检索(time1)的最小值table1table2例如

表 1(id​​, time1, time2, time3)
表 2(id,时间 1,时间 2,时间 3)
id , time 1, time2, time3 (联​​合后)
1、下午 2:00、下午 1:30、下午 1:31
下午 1,1:45、下午 3:00、下午 4:00
2,2:01pm,1:31pm,1:32pm
下午 2,1:50、下午 3:01、下午 4:00

我想要的最终结果是

id,时间1,时间2,时间3
下午 1,1:45、下午 3:00、下午 4:00
下午 2,1:50、下午 3:01、下午 4:00

我尝试了以下方法,但我从 table1 和 table2 中得到了重复的 ID,即 min(time1) 值。如上例所示,如何从联合结果中获取 min(time1) 行?

选择 id、时间 1、时间 2、时间 3 从
表格1
其中时间1 =
(
选择分钟(时间1)
从表 1
)
联盟
选择 id、时间 1、时间 2、时间 3 从
表2
其中时间1 =
(
选择分钟(时间1)
从表 2
)

非常感谢您的帮助

4

1 回答 1

0

您可以union将表格放在一起,并按以下方式分组id

select  id
,       min(time1) as min_time1
,       min(time2) as min_time2
,       min(time3) as min_time3
from    (
        select  id
        ,       time1
        ,       time2
        ,       time3
        from    table1
        union all
        select  id
        ,       time1
        ,       time2
        ,       time3
        from    table2
        ) as SubQueryAlias
group by
        id
于 2013-01-11T16:29:38.703 回答