Member 14010375 Ответов: 1

Преобразование столбцов в строки в SQL SERVER


Привет, у меня есть таблица, как показано ниже.

nUserID	sDate	IN_FINGER	OUT_FINGER
4431	2018/10/03	08:33	16:17
4513	2018/10/03	05:11	16:03
4431	2018/10/04	08:30	16:20
4513	2018/10/04	04:27	15:45
4513	2018/10/06	05:41	14:03


Я хочу преобразовать столбцы в строки, как показано ниже

nUserID	sDate	Stime	Ttype
4431	10/3/2018	8:33	IN
4431	10/3/2018	16:17	OUT
4513	10/3/2018	5:11	IN
4513	10/3/2018	16:03	OUT
4431	10/4/2018	8:30	IN
4431	10/4/2018	16:20	OUT
4513	10/4/2018	4:27	IN
4513	10/4/2018	15:45	OUT
4513	10/6/2018	5:41	IN
4513	10/6/2018	14:03	OUT


Как я могу этого достичь?

Что я уже пробовал:

Я пробовал с UNPIVOTING, но я не эксперт в вопросах, поэтому я не мог получить результат, который искал.

С уважением
Бибин

1 Ответов

Рейтинг:
1

OriginalGriff

Мы не делаем домашнее задание: оно задано не просто так. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.

Так что начните здесь: Использование PIVOT и UNPIVOT | Microsoft Docs[^] и научитесь делать это!
Попробуйте сами, возможно, вы обнаружите, что это не так сложно, как вы думаете!

Если вы столкнетесь с конкретной проблемой, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не собираемся делать все это для вас!


Member 14010375

На самом деле я координатор проекта, а не специалист по программному обеспечению. В любом случае я постараюсь сделать все в соответствии с документом, который вы предложили, спасибо!

Member 14010375

И мне удалось получить результат но не удалось получить последний столбец TType

выберите nUSerID, Sdate, Stime
от TA_FINGER_ONLY
оператор UNPIVOT
(
В стиме
для TTYPE in (IN_FINGER,OUT_FINGER)
) у

Member 14010375

Я понял


Выберите nUSerID, Sdate, как камень, 'в', как T_TYPE, nDepartmentIdn
Из TA_FINGER_ONLY UNPIVOT (Stime FOR TTYPE1 IN (IN_FINGER)) u
СОЮЗ ВСЕХ
Выберите nUSerID, Sdate, Stime, 'OUT' в качестве T_TYPE, nDepartmentIdn
Из TA_FINGER_ONLY UNPIVOT (Stime FOR TTYPE1 IN (OUT_FINGER)) u

OriginalGriff

Молодец!

Member 14010375

Спасибо :)