0

たとえばtable1、(time1)の最小値を取得したいtable2

テーブル 1(id​​、時間 1、時間 2、時間 3)
table2(id, time1,time2,time3)
id 、時間 1、時間 2、時間 3 (結合後)
1、午後2時、午後1時30分、午後1時31分
午後1時45分、午後3時、午後4時
2,2:01pm,1:31pm,1:32pm
午後2時50分、午後3時1分、午後4時

最終結果で欲しいのは

ID、時間 1、時間 2、時間 3
午後1時45分、午後3時、午後4時
午後2時50分、午後3時1分、午後4時

次のように試しましたが、table1とtable2の両方からmin(time1)値である重複IDを取得しました。上記の例のように、ユニオンの結果から min(time1) 行を取得するにはどうすればよいですか?

SELECT id,time1,time2,time3 FROM
表1
WHERE time1 =
(
SELECT Min(time1)
FROM テーブル 1
)
連合
SELECT id,time1,time2,time3 FROM
表2
WHERE time1 =
(
SELECT Min(time1)
FROM テーブル 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 に答える