Bom dia a todos, estou desenvolvendo um sistema, e travei em uma consulta, gostaria de saber se alguém pode me dar uma dica pra eu resolver esta pendência.
É o seguinte: tenho 4 tabelas e preciso retornar algumas combinações de dados entre elas, tenho 2 consultas:
Esta traz corretamente o count que informa a quantidade de recomendações, mas repete os anúncios:
SELECT DISTINCT A.`codAnuncio`,A.`tituloAnuncio`, A.`imgAnuncio`, COUNT(B.`FK_Anuncio_RA`) AS `qtdRecom`, D.`nmCatPadrao`
FROM `tbanuncio` AS A
LEFT JOIN `tbrecomendanuncio` AS B ON A.`codAnuncio` = B.`FK_Anuncio_RA`
INNER JOIN `tbcategoriaanuncio` AS C ON A.`codAnuncio` = C.`FK_Anuncio_CA`
INNER JOIN `tbcategoriapadrao` AS D ON C.`FK_CatPd_CA` = D.`codCatPadrao`
WHERE A.`statusAnuncio` = 2 AND A.`statusFree` = 2 AND A.`codEntrega` = 1
GROUP BY A.`FK_CatGeral_A`,A.`codAnuncio`,B.`FK_Anuncio_RA`,D.`nmCatPadrao`
ORDER BY A.`codAnuncio`ASC, COUNT(B.`FK_Anuncio_RA`) DESC
Já esta não duplica os anúncios, mas soma as quantidades de recomendações, ou seja soma o valor do COUNT():
SELECT DISTINCT A.`codAnuncio`,A.`tituloAnuncio`, A.`imgAnuncio`, COUNT(B.`FK_Anuncio_RA`) AS `qtdRecom`, D.`nmCatPadrao`
FROM `tbanuncio` AS A
LEFT JOIN `tbrecomendanuncio` AS B ON A.`codAnuncio` = B.`FK_Anuncio_RA`
INNER JOIN `tbcategoriaanuncio` AS C ON A.`codAnuncio` = C.`FK_Anuncio_CA`
INNER JOIN `tbcategoriapadrao` AS D ON C.`FK_CatPd_CA` = D.`codCatPadrao`
WHERE A.`statusAnuncio` = 2 AND A.`statusFree` = 2 AND A.`codEntrega` = 1
GROUP BY A.`FK_CatGeral_A`, B.`FK_Anuncio_RA`, B.`FK_Anuncio_RA`
ORDER BY A.`codAnuncio`ASC, COUNT(B.`FK_Anuncio_RA`) DESC
Gostaria de trazer os anúncios com suas respectivas indicações sem duplicar os anúncios ou somar as indicações, desde já agradeço a todos. Segue o código para criação das tabelas:
Question
Zek
Bom dia a todos, estou desenvolvendo um sistema, e travei em uma consulta, gostaria de saber se alguém pode me dar uma dica pra eu resolver esta pendência.
É o seguinte: tenho 4 tabelas e preciso retornar algumas combinações de dados entre elas, tenho 2 consultas:
Esta traz corretamente o count que informa a quantidade de recomendações, mas repete os anúncios:
Já esta não duplica os anúncios, mas soma as quantidades de recomendações, ou seja soma o valor do COUNT(): Gostaria de trazer os anúncios com suas respectivas indicações sem duplicar os anúncios ou somar as indicações, desde já agradeço a todos. Segue o código para criação das tabelas:Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.