Hi, I’ve got the following stored procedure:
BEGIN
SELECT
GROUP_CONCAT(
CONCAT("MAX(IF(millesimal_table='", millesimal_table, "',millesimal_value ,0.000)) AS '", millesimal_table_name, "'"), "
"
)INTO @answers
FROM (
SELECT DISTINCT millesimals.millesimal_table, millesimal_tables.millesimal_table_name
FROM millesimal_tables
LEFT JOIN millesimals
ON millesimals . millesimal_table = millesimal_tables. millesimal_table_id
WHERE millesimals.building_id = buildingID
) A;
SET @query :=
CONCAT(
'SELECT buildings.building_name AS Condominio,
flats.flat_interno AS Interno,
flats.flat_piano AS Piano,
building_units.unit_name AS Unità,
COALESCE(building_subunits.subunit_name, "") AS Sottounità,
GROUP_CONCAT(DISTINCT CONCAT_WS(" ", users.user_first_name, users.user_last_name) SEPARATOR ", " ) AS "Proprietario",', @answers,
'FROM millesimals
LEFT JOIN millesimal_tables
ON millesimals.millesimal_table = millesimal_tables.millesimal_table_id
LEFT JOIN flats
ON millesimals.flat_id = flats.flat_id
LEFT JOIN building_units
ON building_units.unit_id = flats.flat_unit
LEFT JOIN building_subunits
ON building_subunits.subunit_id = flats.flat_subunit
LEFT JOIN buildings
ON millesimals.building_id = buildings.building_id
LEFT JOIN owners
ON owners.flat_id = millesimals.flat_id
LEFT JOIN users
ON owners.user_id = users.user_id
WHERE millesimal_tables.building_id = ',buildingID,'
GROUP BY millesimals.flat_id, users.user_first_name, buildings.building_name'
);
PREPARE statement FROM @query;
EXECUTE statement;
END
The problem is if I dont have any millesimals.millesimal_table stored for a specific buildingID then I get the following error:
Can anybody help me please?