Мне пришлось немного изменить ваш код, чтобы получить ожидаемый результат.Я должен был создать столбец INT, чтобы иметь возможность группировать наборы.Если у вас есть столбец, который может это сделать, просто замените его.Если у вас нет такой колонки, дайте мне знать, и я думаю, что смогу заставить ее работать без этого обходного пути.Мне также стало любопытно по поводу вашего вопроса, поэтому сообщите мне о других решениях той же проблемы.
CREATE TABLE #pivot1
(
[IDENTITYCOL] INT,
date DATE,
ledger VARCHAR(100),
ReceiptType NVARCHAR(50),
Debit DECIMAL(18, 4),
credit DECIMAL(18, 4)
);
INSERT INTO #pivot1 VALUES(1,'01-01-2018','G-704 Rushang Vora','receipt',200,NULL)
INSERT INTO #pivot1 VALUES(1,NULL,'icici 0000123456789',NULL,NULL,100)
INSERT INTO #pivot1 VALUES(1,NULL,'abc',NULL,NULL,NULL)
INSERT INTO #pivot1 VALUES(2,'01-01-2018','G-705 Shailesh Sevra','receipt',NULL,'500')
INSERT INTO #pivot1 VALUES(2,NULL,'Kotak 00012456',NULL,'200',NULL)
INSERT INTO #pivot1 VALUES(2,NULL,'pqr',NULL,NULL,NULL)
WITH PIVOTCTE AS
(
SELECT [IDENTITYCOL],DATE
,CASE
WHEN LEDGER LIKE 'G-%' THEN LEDGER
END AS LEDGER
,CASE
WHEN LEDGER LIKE '%[a-z]%' AND LEDGER LIKE '%[0-9]%'AND LEDGER NOT LIKE '%-%' THEN LEDGER
END AS BANKDETAILS
,CASE
WHEN LEDGER LIKE '%[a-z]%' AND LEDGER NOT LIKE '%[0-9]%' THEN LEDGER
END AS COMMENTS
, RECEIPTTYPE ,DEBIT, CREDIT
FROM #pivot1
)
SELECT MAX(DATE) AS DATE
,MAX(LEDGER) AS LEDGER
,MAX(BANKDETAILS) AS BANKDETAILS
,MAX(COMMENTS) AS COMMENTS
,MAX(RECEIPTTYPE) AS RECEIPTTYPE
,MAX(DEBIT) AS DEBIT
,MAX(CREDIT) AS CREDIT
FROM PIVOTCTE
GROUP BY [IDENTITYCOL]