Consulta SQL envolvendo grupo por e une
Eu não poderia ser mais específico na parte do título, mas quero fazer algo um pouco complexo para mim. Eu pensei que eu fiz isso, mas acabou que é buggy.
Eu tenho três tabelas da seguinte forma:
ProjectTable
idProjecttítuloidOwnerOfferTable
idOfferidProjectidAccountAccountTable
idAccountNome de usuárioAgora em uma consulta eu pretendo listar todos os projetos com a maioria das ofertas feitas, e na consulta eu também quero obter detalhes como o nome de usuário do proprietário,nome de usuário do ofertante * Então eu não preciso consultar novamente para cada projeto.
Aqui está minha consulta quebrada, é meu primeiro experimento com o GROUP BY e provavelmente não entendi bem.
SELECT Project.addDate,Project.idOwner ,Account.Username,Project.idProject,
Project.Price,COUNT(Project.idProject) as offercount
FROM Project
INNER JOIN Offer
ON Project.idProject= Offer.idProject
INNER JOIN Account
ON Account.idAccount = Project.idOwner
GROUP BY Project.addDate,Project.idOwner,
Account.Username,Project.idProject,Project.Price
ORDER BY addDate DESC
*: Eu escrevi isso sem pensar que eu estava apenas tentando dar um exemplo de informação extra, que é sem sentido graças a Hosam Aly.