Start with reading documentation:
Using PIVOT and UNPIVOT - SQL Server | Microsoft Docs[
^]
INSERT (Transact-SQL) - SQL Server | Microsoft Docs[
^]
When get stuck, come back here and ask detailed question.
[EDIT]
You can achieve the same without using
PIVOT
statement:
SELECT mailnumber, MAX(CASE WHEN [type] = 'inbox' THEN email ELSE NULL END) As InboxMessage, MAX(CASE WHEN [type] = 'sent' THEN email ELSE NULL END) AS SentMessage
FROM YourTable
GROUP BY mailnumber;
[EDIT #2]
Another way - using
Joins[
^]:
SELECT t1.mailnumber, t1.InboxMessage, t2.SentMessage
FROM (
SELECT mailnumber, email As InboxMessage
FROM YourTable
WHERE type = 'inbox'
) AS t1 INNER JOIN (
SELECT mailnumber, email As SentMessage
FROM YourTable
WHERE type = 'sent'
) AS t2 ON t1.mailnumber = t2.mailnumber