Salve stò impazzendo da stanotte su questa query
Scopo della query ricavare il totale dei pazienti trattati da ogni singolo fisioterapista(TDR)
Nell’immagine allegata ci sono le 4 tabelle interrogate, al momento riesco a ricavare il totale pazienti trattati ma non riesco a prendere quei fisioterapisti che non hanno nessun paziente in carico… di solito questi casi si risolvono usando RIGHT o LEFT join ma non nel mio caso
SELECT
tdr_id,
CONCAT_WS('@',tdr_cognome,tdr_nome, tdr_sesso, tdr_id),
COUNT(cc_id) /*<--- conteggio dei pazienti trattati */
FROM
tbl_cartellaclinica INNER JOIN tbl_paziente ON tbl_cartellaclinica.pz_fk_id = tbl_paziente.id
JOIN (
SELECT tbl_cartellaclinica.pz_fk_id, MAX(tbl_progetto.pr_id) AS pr_id
FROM tbl_cartellaclinica
JOIN tbl_progetto
ON tbl_progetto.cc_id_fk = tbl_cartellaclinica.cc_id
WHERE
tbl_progetto.is_ripresa_in_carico=0
GROUP BY tbl_cartellaclinica.cc_id
) AS t
ON t.pz_fk_id = tbl_cartellaclinica.pz_fk_id JOIN tbl_progetto ON
tbl_progetto.cc_id_fk = tbl_cartellaclinica.cc_id
AND tbl_progetto.pr_id = t.pr_id RIGHT OUTER JOIN tbl_fisioterapista
ON tbl_fisioterapista.tdr_id = tbl_progetto.pr_fisioterapista_fk
WHERE NOT(tbl_progetto.is_dimissione=1)
GROUP BY tbl_fisioterapista.tdr_id
3263
grazie