si tus datos estan asi no ocupas la funcion que te pase con un case lo obtienes:
Ojo: la parte del case es con SQL SERVER
Código SQL:
Ver originalCREATE TABLE #tblejemplo (cliente VARCHAR(50) NOT NULL,
tipo_de_pago VARCHAR(10) NOT NULL,
fec_pago DATE NOT NULL);
INSERT INTO #tblejemplo VALUES ('8885','S','2015/01/01');
INSERT INTO #tblejemplo VALUES ('8885','S','2015/01/01');
INSERT INTO #tblejemplo VALUES ('8885','S','2015/01/01');
INSERT INTO #tblejemplo VALUES ('8885','S','2015/01/01');
INSERT INTO #tblejemplo VALUES ('1111','S','2015/01/02');
INSERT INTO #tblejemplo VALUES ('1111','B','2015/01/02');
INSERT INTO #tblejemplo VALUES ('1111','B','2015/01/02');
SELECT * FROM(
SELECT cliente,
group_concat(tipo_de_pago separator '-')AS 'pagos S',
FROM tblejemplo
GROUP BY cliente) AS t1
LEFT JOIN(
SELECT SUM(total) total, cliente,fec_pago FROM(
SELECT CASE WHEN tipo_de_pago='S' THEN 1 ELSE 0 END AS total, cliente, tipo_de_pago,fec_pago FROM #tblejemplo) AS t1 GROUP BY cliente,fec_pago
) AS t2 ON (t1.cliente=t2.cliente)
o la otra es que primero hagas esto: