4つの関連するテーブルがあり、次のクエリを使用して、それらを4つLEFT JOIN
および2つのMAX()
集計関数と組み合わせます。
SELECT SQL_CALC_FOUND_ROWS
id,
cognome,
nome,
sesso,
pr_sedute_complessive,
presa_in_carico_data,
cf,
cnome,
tdr_cognome,
tdr_nome,
COUNT(tbl_trattamenti.trt_id),
MAX(tbl_trattamenti.data),
pr_id
FROM tbl_aziente p1
LEFT JOIN comuni
ON comuni.cid = p1.nascita_luogo
LEFT JOIN tbl_cartellaclinica
ON tbl_cartellaclinica.pz_fk_id = p1.id
LEFT JOIN tbl_progetto
ON tbl_progetto.cc_id_fk = tbl_cartellaclinica.cc_id
LEFT JOIN tbl_fisioterapista
ON tbl_fisioterapista.tdr_id = tbl_progetto.pr_fisioterapista_fk
LEFT JOIN tbl_trattamenti
ON tbl_progetto.pr_id = tbl_trattamenti.pr_fk_id
WHERE idoneo = 'y'
AND p1.tipo_assistenza = 4
GROUP BY p1.id
LIMIT 0, 10
これは、1つを除いて、すべて問題ありません。最初のレコードではなくtbl_progetto
、最も高いレコードが必要です。id
を使用しようとしましたMAX(primaryKey)
が、キーのみを取得します。そのpKeyを持つレコードは取得しません。