Ir ao conteúdo

MySQL Select para contar quantos registros possui tabela relacionada


Ir à solução Resolvido por fabio.argenton,

Posts recomendados

Postado

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:

image.png.139818a31626c4b2afa115e06086f708.png

 

 

  • Solução
Postado

Resolvi da seguinte forma:

SELECT con1.cod, con1.inicio, con1.fim, con1.mesa, con1.material, con1.descricao, con1.qtde, con1.condicao, COUNT(con2.codParada) AS Paradas 
FROM (SELECT *FROM mesa) AS con1 
LEFT JOIN (SELECT codParada FROM mesaparada) AS con2 
ON con1.cod = con2.codParada 
GROUP BY con1.cod

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!