【发布时间】:2020-04-15 23:13:09
【问题描述】:
我有一个问题。下面是我的sql。
SELECT upniki.naziv,
(
SELECT count(caseid)
FROM terjatve, paket
WHERE terjatve.stevilkapaketa=paket.id_paket
AND terjatve.idnarocnik=upniki.id_upnik
AND paket.datum_predaje >='1900-03-01'
AND paket.datum_predaje <='2020-03-31'
GROUP BY upniki.naziv) as st_vseh_primerov,
(
SELECT sum(racuni.startsum)
FROM racuni, paket, terjatve
WHERE terjatve.stevilkapaketa=paket.id_paket
AND terjatve.caseid=racuni.caseid
AND terjatve.idnarocnik=upniki.id_upnik
AND paket.datum_predaje >='1900-03-01'
AND paket.datum_predaje <='2020-03-31'
GROUP BY upniki.naziv) as glavnica_vseh_primerov,
(
SELECT count(caseid)
FROM terjatve, paket
WHERE terjatve.stevilkapaketa=paket.id_paket
AND terjatve.idnarocnik=upniki.id_upnik
AND paket.datum_predaje >='1900-03-01'
AND paket.datum_predaje <='2020-03-31'
AND terjatve.statusnacinid='1'
GROUP BY upniki.naziv) as st_aktivnih
FROM upniki
GROUP BY upniki.naziv, upniki.id_upnik
使用这个 SQL 我得到如下结果。
naziv st_vseh_primerov glavnica_vseh_primerov st_aktivnih
CLIENT 1 12 7500 0
CLIENT 2 10 40000 0
CLIENT 3 15 5000 0
CLIENT 4 16 15000 0
CLIENT 5 9 12000 0
CLIENT 6 8 60000 1
CLIENT 7 4 3000 0
CLIENT 8 3 10000 0
我需要的结果是将 st_vseh_primerov
naziv st_vseh_primerov glavnica_vseh_primerov st_aktivnih
CLIENT 1 12 7500 0
CLIENT 3 15 5000 0
CLIENT 4 16 15000 0
SME 34 125000 1
如果有人可以帮忙,请。
溴 R.
【问题讨论】:
-
你熟悉
JOIN吗?你应该使用它。
标签: sql postgresql group-by count rows