Xuito 0 Denunciar post Postado Agosto 4, 2008 Ola amigos, Ja procurei bastante e ainda nao consegui encontrar uma forma buscar quantas vezes determinado valor aparece em apenas alguns campos de uma mesma linha de uma tabela mysql. Alguem poderia me dar uma sugestao? Por exemplo: Tenho uma tabela com varios campos que mostram o estatus de mesas reservadas. Assim: DATA | Mesa1 | Mesa 2 | Mesa 3 | Mesa 4 | ... | Mesa38 040808 Livre Reservada Livre Livre Reservada 050808 Reservada Reservada Livre Reservada Reservada 060808 Livre Reservada Livre Livre Reservada O que eu preciso eh saber, por exemplo, das mesas 1 a 10, quantas estao reservadas no dia 05/08/08... O comando COUNT faria isso? Teria como eu determinar em qual linha ele deveria contar, e em quais colunas? Vou continuar procurando... qualquer coisa eu coloco o resultado aqui. Abracos e obrigado, Weber Compartilhar este post Link para o post Compartilhar em outros sites
Marcio Leandro 0 Denunciar post Postado Agosto 4, 2008 Movido: PHP=>MySQL Compartilhar este post Link para o post Compartilhar em outros sites
Xuito 0 Denunciar post Postado Agosto 5, 2008 Obrigado Marcio, Eu nao sabia ao certo onde postar. Abracos, Weber Compartilhar este post Link para o post Compartilhar em outros sites
Xuito 0 Denunciar post Postado Agosto 5, 2008 Ola amigos, A solucao que eu tinha encontrado e postado anteriormente estava errada... soh fui descobrir depois de alguns testes. Por isso editei e apaguei daqui do forum. Sendo assim, continuo a procurar a resposta. Abracos, Weber Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Agosto 5, 2008 Bom , quem fez essa tabela tem q voltar pra aula de normalizaçao pq ta tudo errado, mas a soluçao momentanea seria : Select Data, count(*) from ( Select Data, mesa1 status from tabela UNION ALL Select Data, mesa2 status from tabela UNION ALL Select Data, mesa3 status from tabela UNION ALL Select Data, mesa4 status from tabela UNION ALL Select Data, mesa5 status from tabela ) abc where status='Livre' And Data = 20080805 GROUP BY Data Isso assumindo ate a mesa 5 Compartilhar este post Link para o post Compartilhar em outros sites
Xuito 0 Denunciar post Postado Agosto 5, 2008 Bom... la vai (para contar a quantidade de mesas reservadas de no grupo das mesas 1 a 10 - Considerando status reservada=2, pendente=1, livre=0): CODE for ($i = 1; $i < 11; $i++) { $mesastatus = "mesastatus".$i; ${$mesastatus}; $consulta = mysql_query("SELECT " . $mesastatus . " FROM reservas WHERE data='$data_reserva' AND " . $mesastatus . "='2'"); while ($reservadas = mysql_fetch_array($consulta)) { $resultadoreservadas = $reservadas["$mesastatus"]; if ($resultadoreservadas == "2") { $count++; } } } echo $count; Agora deu certo. Valeu a todos! Abracos, Weber Compartilhar este post Link para o post Compartilhar em outros sites