problemas com filtros
tenho uma consulta por nome digitado, ao digitar a tecla, ele deve buscar por assunto,descricao,ator (3 atores), Respeitando apenas copias com status L. porem não funciona. Por que ?
select distinct cod_prod, cod_copia, desc_prod, tipo_copia, status_copia, valor_categ, dias_categ, desc_grupo
from produto, copia, categoria, grupo
where produto.cod_prod=copia.cod_prod and produto.desc_prod like :param or produto.assun_prod like :param or produto.ator1_prod like :param or produto.ator2_prod like :param or produto.ator3_prod and copia.status_copia = ´L´ and produto.cod_categ=categoria.cod_categ and produto.cod_grupo=grupo.cod_grupo
order by desc_prod
ele funciona ´quase´ perfeito...heheh ... sai as fitas porem não importando o status...
Não consigo saber o por que ? alguma ideia ?
select distinct cod_prod, cod_copia, desc_prod, tipo_copia, status_copia, valor_categ, dias_categ, desc_grupo
from produto, copia, categoria, grupo
where produto.cod_prod=copia.cod_prod and produto.desc_prod like :param or produto.assun_prod like :param or produto.ator1_prod like :param or produto.ator2_prod like :param or produto.ator3_prod and copia.status_copia = ´L´ and produto.cod_categ=categoria.cod_categ and produto.cod_grupo=grupo.cod_grupo
order by desc_prod
ele funciona ´quase´ perfeito...heheh ... sai as fitas porem não importando o status...
Não consigo saber o por que ? alguma ideia ?
Midas
Curtidas 0
Respostas
Afarias
14/08/2003
select distinct cod_prod, cod_copia, desc_prod, tipo_copia, status_copia, valor_categ, dias_categ, desc_grupo
from produto, copia, categoria, grupo
where produto.cod_prod=copia.cod_prod and copia.status_copia = ´L´ and produto.cod_categ=categoria.cod_categ and produto.cod_grupo=grupo.cod_grupo
and (produto.desc_prod like :param or produto.assun_prod like :param or produto.ator1_prod like :param or produto.ator2_prod like :param or produto.ator3_prod like :param)
order by desc_prod
não é nada otimizada (ou + correta) más deve fazer o q vc quer.
T+
from produto, copia, categoria, grupo
where produto.cod_prod=copia.cod_prod and copia.status_copia = ´L´ and produto.cod_categ=categoria.cod_categ and produto.cod_grupo=grupo.cod_grupo
and (produto.desc_prod like :param or produto.assun_prod like :param or produto.ator1_prod like :param or produto.ator2_prod like :param or produto.ator3_prod like :param)
order by desc_prod
não é nada otimizada (ou + correta) más deve fazer o q vc quer.
T+
GOSTEI 0
Midas
14/08/2003
a farias agora ferrou usei o codigo acima e agora nem os produto com status L ou D saem ... não sai produto nenhum estou debugando aqui para ver onde esta o erro ... vou verificar a base de dados tambem... mas agora estou indo para o almoço só depois das 14 ...
valeu ....
valeu ....
GOSTEI 0
Midas
14/08/2003
colega afarias,
já vi tudo e ele esta passando o codigo corretamente para o banco de dados ...minha base de dados tem todas as informações que ele precisa.
select distinct cod_prod, cod_copia, desc_prod, tipo_copia, status_copia, valor_categ, dias_categ, desc_grupo
from produto, copia, categoria, grupo
where produto.cod_prod=copia.cod_prod and copia.status_copia = ´L´ and produto.cod_categ=categoria.cod_categ and produto.cod_grupo=grupo.cod_grupo
and (produto.desc_prod like :param or produto.assun_prod like :param or produto.ator1_prod like :param or produto.ator2_prod like :param or produto.ator3_prod like :param)
order by desc_prod
ele não lista nada na tela , nem no caso de locacao nem de devolucao.
select distinct cod_prod, cod_copia, desc_prod, tipo_copia, status_copia, valor_categ, dias_categ, desc_grupo
from produto, copia, categoria, grupo
where produto.cod_prod=copia.cod_prod and copia.status_copia = ´L´ and produto.cod_categ=categoria.cod_categ and produto.cod_grupo=grupo.cod_grupo
or (produto.desc_prod like :param or produto.assun_prod like :param or produto.ator1_prod like :param or produto.ator2_prod like :param or produto.ator3_prod like :param)
order by desc_prod
e se coloco a condição ´OR´ antes do parenteses ele lista tudo não importando o status.
E agora ?
pois o que quero é uma pesquisa por produto, assunto,atores ao pressionar a tecla e com a condição L no caso de Devolução e D no caso de locação.
L quer dizer Locado
D quer dizer disponivel
alguma ideia ?
já vi tudo e ele esta passando o codigo corretamente para o banco de dados ...minha base de dados tem todas as informações que ele precisa.
select distinct cod_prod, cod_copia, desc_prod, tipo_copia, status_copia, valor_categ, dias_categ, desc_grupo
from produto, copia, categoria, grupo
where produto.cod_prod=copia.cod_prod and copia.status_copia = ´L´ and produto.cod_categ=categoria.cod_categ and produto.cod_grupo=grupo.cod_grupo
and (produto.desc_prod like :param or produto.assun_prod like :param or produto.ator1_prod like :param or produto.ator2_prod like :param or produto.ator3_prod like :param)
order by desc_prod
ele não lista nada na tela , nem no caso de locacao nem de devolucao.
select distinct cod_prod, cod_copia, desc_prod, tipo_copia, status_copia, valor_categ, dias_categ, desc_grupo
from produto, copia, categoria, grupo
where produto.cod_prod=copia.cod_prod and copia.status_copia = ´L´ and produto.cod_categ=categoria.cod_categ and produto.cod_grupo=grupo.cod_grupo
or (produto.desc_prod like :param or produto.assun_prod like :param or produto.ator1_prod like :param or produto.ator2_prod like :param or produto.ator3_prod like :param)
order by desc_prod
e se coloco a condição ´OR´ antes do parenteses ele lista tudo não importando o status.
E agora ?
pois o que quero é uma pesquisa por produto, assunto,atores ao pressionar a tecla e com a condição L no caso de Devolução e D no caso de locação.
L quer dizer Locado
D quer dizer disponivel
alguma ideia ?
GOSTEI 0
Afarias
14/08/2003
Cara eu até fiz questão de testar e funcionou perfeitamente (só me livrei do distinct q não faz sentido ai)::
select p.cod_prod, c.cod_copia, p.desc_prod, c.tipo_copia,
c.status_copia, t.valor_categ, t.dias_categ, g.desc_grupo
from produto p, copia c, categoria t, grupo g
where c.cod_prod = p.cod_prod and p.cod_categ=t.cod_categ
and p.cod_grupo = g.cod_grupo and c.status_copia = ´L´
and (p.desc_prod like :param or p.assun_prod like :param or p.ator1_prod like :param or p.ator2_prod like :param
or p.ator3_prod like :param)
order by p.desc_prod
Dê uma olhada direitinho...
T+
select p.cod_prod, c.cod_copia, p.desc_prod, c.tipo_copia,
c.status_copia, t.valor_categ, t.dias_categ, g.desc_grupo
from produto p, copia c, categoria t, grupo g
where c.cod_prod = p.cod_prod and p.cod_categ=t.cod_categ
and p.cod_grupo = g.cod_grupo and c.status_copia = ´L´
and (p.desc_prod like :param or p.assun_prod like :param or p.ator1_prod like :param or p.ator2_prod like :param
or p.ator3_prod like :param)
order by p.desc_prod
Dê uma olhada direitinho...
T+
GOSTEI 0
Midas
14/08/2003
valeu afarias ... deu certo aqui tambem ...
GOSTEI 0
Afarias
14/08/2003
blz! 8)
T+
T+
GOSTEI 0