create table Statistics_tbl with (
SELECT Todo_tbl.person, SUM(Todo_tbl.duration) FROM Todo_tbl JOIN Statistics_tbl
on Todo_tbl.person = Statistics_tbl.person GROUP BY person;
);
O problema é que o código acima não me permite criar uma tabela Statistics_tbl que seria unida a outra tabela Todo_tbl.
Os problemas relatados são:
- "')' não é válido nesta posição. Esperando EOF, ALTER, ANALYZE, BEGIN"
- "'(' não é válido nesta posição. Esperando um identificador.
Ver violino
Depois de reler as respostas e comentários em how-can-i-join-two-tables-in-mysql-so-that-everever-i-add-data-to-table-1-tabl , acho que você está procurando para uma tabela de consulta materializada (MQT). AFAIK estes não existem no MySQL mas você pode criar seu próprio Sistema de Avaliação Incremental (IES) via triggers, veja por exemplo: https://fromdual.com/mysql-materialized-views
Eu adicionei um pequeno exemplo para um gatilho de inserção em: Fiddle . Você terá que adicionar os correspondentes para atualização e exclusão. Escusado será dizer que você também precisa adicionar chaves e não restrições nulas em suas tabelas para que as linhas possam ser identificadas com segurança. Isenção de responsabilidade, eu não conheço o MySQL tão bem, então não posso dizer quais problemas de simultaneidade (como atualização perdida) você pode ter que levar em consideração
Qual é o problema com a visão sugerida na resposta anterior?
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=ff57cb2a8755e2c2ee8136e75c47bd38