Good 4 Denunciar post Postado Agosto 12, 2015 Tenho 2 tabelas: acontecimentos { id, titulo, status (1,0), ip } acontecimentos_aprovacao { id, acontecimento_id, voto (0,1), ip } - A tabela acontecimentos é tipo uma notícia, e na tabela acontecimentos_aprovacao é como se fosse comentários; - Só é permitido ser comentado uma vez. Isso ta OK; - O sistema vai retornar um acontecimento aleatório, desde que o usuário não tenha comentado; Caso não tenha mais nenhum acontecimento disponível, simplesmente não aparecerá nada pra ele. A query que tentei fazer, mas deu erro: SELECT acon.*, (SELECT COUNT(*) FROM acontecimentos_aprovacao WHERE aid = acon.aid AND ip = '' LIMIT 1) AS jaExiste FROM acontecimentos acon WHERE acon.ip != '' AND acon.id != '21' AND acon.status = '0' AND jaExiste = '0' ORDER BY RAND() LIMIT 1 Como posso selecionar somente se o usuário não tiver comentado? Compartilhar este post Link para o post Compartilhar em outros sites
lokaodomau 61 Denunciar post Postado Agosto 12, 2015 Este campo `jaExiste` é um ALIAS, e não pode ser utilizado na cláusula WHERE. Remove a o critério jaExiste = '0' do WHERE e coloque dentro de um HAVING depois do GROUP BY e antes do ORDER BY: SELECT acon.*, (SELECT COUNT(*) FROM acontecimentos_aprovacao WHERE aid = acon.aid AND ip = '' LIMIT 1) AS jaExiste FROM acontecimentos acon WHERE acon.ip != '' AND acon.id != '21' AND acon.status = '0' GROUP BY acon.id HAVING jaExiste = '0' # ele trabalha em cima do GROUP BY (após) ORDER BY RAND() LIMIT 1 Compartilhar este post Link para o post Compartilhar em outros sites
Good 4 Denunciar post Postado Agosto 13, 2015 Entendi,.. mas ta dando isso: #1054 - Unknown column 'acon.aid' in 'where clause' Compartilhar este post Link para o post Compartilhar em outros sites
lokaodomau 61 Denunciar post Postado Agosto 13, 2015 É porque a coluna `acon.aid` que está na cláusula WHERE não existe, dê uma olhada no código, essa tá fácil. ;} Compartilhar este post Link para o post Compartilhar em outros sites
Good 4 Denunciar post Postado Agosto 13, 2015 vdde kkkk, vlww!! Compartilhar este post Link para o post Compartilhar em outros sites