我有一个包含 MySQL 函数的几何方法:
select *, (SELECT SUM(t_o.value) FROM tree_operations t_o WHERE t_o.operation_id = operations.id) operationTreeValue, (SELECT COUNT(t_o.id) FROM `tree_operations` t_o WHERE t_o.operation_id = operations.id) operationTreeNumber, (CASE\r WHEN operations.type = 'pieces' THEN (SELECT GROUP_CONCAT(p.name) FROM `pieces` p WHERE p.id IN (SELECT piece_id FROM `piece_row_operations` WHERE operation_id = operations.id))\r WHEN operations.type = 'rows' THEN (SELECT GROUP_CONCAT(r.number) FROM `rows` r WHERE r.id IN (SELECT row_id FROM `piece_row_operations` WHERE operation_id = operations.id))\r END) AS typeName from `operations` where operations.id IN (SELECT t_o.operation_id FROM `tree_operations` t_o WHERE t_o.tree_id IN (SELECT t.id FROM `trees` t WHERE t.coordinates IN (Contains(GeomFromText('POLYGON(49.816472 35.971209,49.7868 35.970981,49.788668 35.947219,49.15201 35.947905,49.816472 35.971209)'))))) order by `operations`.`id` desc
但令人惊讶的是,它在服务器上无法工作(而在本地完全正常)。 花费了大量时间(在不同的环境中运行查询等等),我找不到任何确切的答案。 我的查询有问题还是函数不再起作用? 附言:我的本地mysql版本为5.7,服务器为mariadb 10.2。