[Resolvido] RAND() não funciona com UNION
Dae pessoal, estou penando para descobrir o problema desse SQL.
O que preciso fazer, preciso buscar todos os clientes em uma busca, mas preciso fazer com que os Anunciantes venham antes dos Não-Anunciantes. Mas preciso fazer também com que os Anunciantes venham de forma aleatória.
Estou tentando buscar primeiramente os Anunciantes usando a função RAND() no ORDER BY e dando um UNION com o SQL que busca os Não-Anunciantes.
Segue SQL:
(
SELECT app_clientes.nome AS nome, app_clientes.razaosocial AS razaosocial,
app_clientes.codigo AS codigo, app_clientes.classificacao AS classificacao
FROM `app_clientes`
WHERE app_clientes.nome LIKE '%a%' AND app_clientes.classificacao = 'Anuciante'
ORDER BY RAND()
) UNION (
SELECT app_clientes.nome AS nome, app_clientes.razaosocial AS razaosocial,
app_clientes.codigo AS codigo, app_clientes.classificacao AS classificacao
FROM `app_clientes`
WHERE app_clientes.nome LIKE '%a%' AND app_clientes.classificacao != 'Anuciante'
)
Só que desta forma o RAND() não está trazendo os Anunciantes de forma aleatória. Se alguém puder me ajudar ou me dar uma dica.
Desde já valeu.
Discussão (17)
Carregando comentários...