Я хочу получить максимальное значение из двух столбцов - таблица SQL - PullRequest
0 голосов
/ 26 апреля 2019

Пожалуйста, найдите прикрепленное изображение для структуры таблицы

enter image description here

Ответы [ 3 ]

0 голосов
/ 26 апреля 2019

Вы можете использовать общее табличное выражение для объединения столбцов, а затем выбрать макс.

;with cteUnionPunch(Emp_id, both_punch) AS
(
SELECT Emp_id, In_Punch FROM trans_punch 
UNION ALL
SELECT Emp_id, Out_Punch FROM trans_punch
)
SELECT Emp_id, max(both_punch) FROM cteUnionPunch GROUP BY Emp_id
0 голосов
/ 26 апреля 2019

Вы можете использовать apply:

select tp.Emp_id, max(tpp.Punchs)
from trans_punch as tp cross apply
     ( values (In_Punch), (Out_Punch) ) tpp(Punchs)
group by tp.Emp_id;
0 голосов
/ 26 апреля 2019

Вы можете попробовать использовать UNION ALL для создания уникального результата столбца и выбрать максимальное значение из этого

select max(col) 
from (
select col1 col
from  trans_punch
union all
select col2
from  trans_punch) t
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...