私は次のコードを持っています、それは動作しますが、Banksphere.servicio_id列ごとにSUMを分離しようとしています。このコードは1つのservicio_idのみをSUMします...私は少し迷っています、誰かが私を助けてくれますか?
ご覧のとおり、すべてのWHERE句はまったく同じですが、変更されるのはBanksphere.peticion_idだけです...したがって、共通の句を一度フィルタリングして、OKとKOにpeticion_idだけを残すより良い方法があるのではないでしょうか。
SELECT
(SELECT
SUM(valor)
FROM
Banksphere
WHERE
Banksphere.fecha = '2013-01-14'
AND
Banksphere.servicio_id = '6'
AND
Banksphere.entidad_id = '2'
AND
Banksphere.peticion_id = '0') AS OK,
(SELECT
SUM(valor)
FROM
Banksphere
WHERE
Banksphere.fecha = '2013-01-14'
AND
Banksphere.servicio_id = '6'
AND
Banksphere.entidad_id = '2'
AND
Banksphere.peticion_id = '1') AS KO
作業コードで編集
SELECT Servicios.nombre as servicio,
SUM(case when peticion_id = '0' then valor end) as OK,
SUM(case when peticion_id = '1' then valor end) as KO
FROM Banksphere
INNER JOIN
Servicios
ON
Banksphere.servicio_id = Servicios.id
WHERE Banksphere.fecha = '2013-01-14'
AND Banksphere.entidad_id = '2'
AND Banksphere.peticion_id in ('0', '1')
group by Servicios.nombre