estou fazendo um consulta no banco de dados utilizando um conjunto de 12 checkbox que direcionam para um mesmo campo, neste caso categoria, as quais posso consultar por uma ou mais categorias ao mesmo tempo e ainda pelo ano de cadastro do registro.
a criação do select não trouxe problemas, quando seleciono por varios campos sem a restrição do ano ocorre tudo bem, mas quando uso o campo ano como parametro acontecem 3 situações.
1) se apenas uma categoria é usada como parametro, se esta não cumpre o solicitado a consulta é nula.
2) se seleciono uma categoria que cumpra com o solicitado ela retorna os valores da consulta.
3) mas se uso mais de uma categoria, o resultado não leva em conta o ano solicitado e retorna todos os registros relacionados com a categoria.
neste banco existem apenas 5 registros onde o ano é 2008
veja abaixo o exemplos de sql (de acordo com a lista acima):
1) select * from cadastro where categoria like 'Sub 21 Feminino' and ano like '2008' order by clube, categoria, nome - neste caso não retorna nenhum registro - sendo compatível com os registros do banco.
2) select * from cadastro where categoria like 'Mirim Feminino' and ano like '2008' order by clube, categoria, nome - neste caso retorna 1 registro - sendo compatível com os registros do banco.
3) select * from cadastro where categoria like 'Mini Feminino' or categoria like 'Mini Masculino' or categoria like 'Mirim Feminino' or categoria like 'Mirim Masculino' or categoria like 'Sub 21 Feminino' or categoria like 'Sub 21 Masculino' and ano like '2008' order by clube, categoria, nome - neste caso retorna 885 registro - não sendo compatível com os registros do banco.
Pergunta
Guest --André --
ola,
estou fazendo um consulta no banco de dados utilizando um conjunto de 12 checkbox que direcionam para um mesmo campo, neste caso categoria, as quais posso consultar por uma ou mais categorias ao mesmo tempo e ainda pelo ano de cadastro do registro.
a criação do select não trouxe problemas, quando seleciono por varios campos sem a restrição do ano ocorre tudo bem, mas quando uso o campo ano como parametro acontecem 3 situações.
1) se apenas uma categoria é usada como parametro, se esta não cumpre o solicitado a consulta é nula.
2) se seleciono uma categoria que cumpra com o solicitado ela retorna os valores da consulta.
3) mas se uso mais de uma categoria, o resultado não leva em conta o ano solicitado e retorna todos os registros relacionados com a categoria.
neste banco existem apenas 5 registros onde o ano é 2008
veja abaixo o exemplos de sql (de acordo com a lista acima):
1) select * from cadastro where categoria like 'Sub 21 Feminino' and ano like '2008' order by clube, categoria, nome - neste caso não retorna nenhum registro - sendo compatível com os registros do banco.
2) select * from cadastro where categoria like 'Mirim Feminino' and ano like '2008' order by clube, categoria, nome - neste caso retorna 1 registro - sendo compatível com os registros do banco.
3) select * from cadastro where categoria like 'Mini Feminino' or categoria like 'Mini Masculino' or categoria like 'Mirim Feminino' or categoria like 'Mirim Masculino' or categoria like 'Sub 21 Feminino' or categoria like 'Sub 21 Masculino' and ano like '2008' order by clube, categoria, nome - neste caso retorna 885 registro - não sendo compatível com os registros do banco.
Obrigado
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.