You need to use query similar to below one as a source of Crystal Report:
DECLARE @customers TABLE (ID INT IDENTITY(1,1), Customer VARCHAR(30), OrderDat DATETIME, Remarks VARCHAR(300))
INSERT INTO @customers (Customer, OrderDat, Remarks)
VALUES('ABC', '2007-01-01', 'aaaaaaaaaa'),
('ABC', '2007-01-02', 'bbbbbbbbbb'),
('ABC', '2007-01-03', 'cccccccccccc'),
('DEF', '2007-01-02', 'dddddddddd')
SELECT T1.Customer, T1.[1] AS Date1, T2.[1] AS Remarks1, T1.[2] AS Date2, T2.[2] AS Remarks2, T1.[3] AS Date3, T2.[3] AS Remarks3
FROM (
SELECT Customer, [1], [2], [3]
FROM (
SELECT Customer, CONVERT(VARCHAR(10),OrderDat,121) AS OrderDat, ROW_NUMBER() OVER(PARTITION BY Customer ORDER BY OrderDat) AS EventID
FROM @customers
) AS DT1
PIVOT(MAX(OrderDat) FOR EventID IN([1], [2], [3])) AS PT1) AS T1
INNER JOIN (
SELECT Customer, [1], [2], [3]
FROM (
SELECT Customer, Remarks, ROW_NUMBER() OVER(PARTITION BY Customer ORDER BY OrderDat) AS EventID
FROM @customers
) AS DT2
PIVOT(MAX(Remarks) FOR EventID IN([1], [2], [3])) AS PT2) AS T2
ON T1.Customer = T2.Customer
Result:
ABC 2007-01-01 aaaaaaaaaa 2007-01-02 bbbbbbbbbb 2007-01-03 cccccccccccc
DEF 2007-01-02 dddddddddd NULL NULL NULL NULL
But i need to warn you: This is ineffective and non-elegant way!