Possuo 2 tabelas, sendo uma tabela principal chamada “mesa” e a tabela relacionada chamada “mesaparada” contendo os detalhes da tabela principal, ou seja, 1 para N.
Quero realizar uma consulta SQL que traga todos os registros da tabela “mesa” (Tipo LEFT JOIN) porém com uma coluna adicional trazendo a quantidade de registros da tabela “mesaparada” referente a cada linha da tabela “mesa” abaixo a estrutura das minhas tabelas e um exemplo do que preciso:
-- Tabela Pai
CREATE TABLE `mesa` (
`cod` INT(11) NOT NULL AUTO_INCREMENT,
`inicio` VARCHAR(50) NOT NULL,
`fim` VARCHAR(50) NULL DEFAULT NULL,
`mesa` VARCHAR(50) NOT NULL,
`material` VARCHAR(50) NOT NULL,
`descricao` VARCHAR(50) NULL DEFAULT NULL,
`qtde` INT(11) NOT NULL,
`condicao` INT(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`cod`)
)
-- Tabela detalhes da tabela Pai
CREATE TABLE `mesaparada` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`codParada` INT(11) NOT NULL,
`mesaParada` VARCHAR(50) NOT NULL,
`inicioParada` VARCHAR(50) NOT NULL,
`motivoParada` VARCHAR(250) NULL DEFAULT NULL,
`fimParada` VARCHAR(50) NULL DEFAULT NULL,
PRIMARY KEY (`id`),
INDEX `FK_Mesa` (`codParada`),
CONSTRAINT `FK_Mesa` FOREIGN KEY (`codParada`) REFERENCES `mesa` (`cod`)
)
Exemplo:
A ultima coluna é a quantidade de linhas que possuo na tabela relacionada de detalhes para cada registro da tabela principal: