Oi, 'Mszx'! Acho que o que você está querendo é algo do tipo: SELECT f.film_nome, c.cat_designacao, IF(alg_comp_def = 'C', 'COMPRA', 'ALUGUEL') AS status, alg_comp_inicio, alg_comp_fim
FROM aluguer_compra ac
INNER JOIN utilizador u ON ac.alg_comp_user_id = u.user_id
INNER JOIN filme f ON ac.alg_comp_film_id = f.film_id
INNER JOIN categoria c ON f.film_cat_id = c.cat_id
WHERE ac.alg_comp_user_id = usuariodesejado Verifique e informe novamente em caso de dúvidas. Sim resolveu muito obrigado :) Uma ultima questão: Tenho isto: procedure listar(p_cat_id in number default null) is cursor c_filmes is select * from filme, categoria where film_cat_id = cat_id and to_char(cat_id) like nvl(to_char(p_cat_id)||'%','%'); cursor c_categoria is select * from categoria; <table width="100%" border="1"> <tr> <th>Nome</th> <th>Categoria</th> <th>Preço de Venda</th> <th>Preço Aluguer</th> <th>Sinopse</th> </tr> for r_filmes in c_filmes loop htp.p('<tr>'); htp.p('<td><center>'||r_filmes.film_nome||'</center></td>'); htp.p('<td><center>'||r_filmes.cat_designacao||'</center></td>'); htp.p('<td><center>'||r_filmes.film_pvenda||' Euros <INPUT TYPE=CHECKBOX NAME="C" value="ON"></center></td>'); htp.p('<td><center>'||r_filmes.film_palug||' Euros <INPUT TYPE=CHECKBOX NAME="A" value="ON"></center></td>'); htp.p('<td><center>'||r_filmes.film_sinopse||'</center></td>'); htp.p('</tr>'); end loop; Agora a minha questão é, este código faz aparecer todos os filmes existentes na BD, como se pode ver existe uma checkbox para alugar e comprar C, A, como é que faço para ao escolher imaginemos: Examplo: Filme ......... Alugar ......... Comprar ABC ......... CHECK ......... ABD ......... ......... CHECK Enviar a informação que que o user quer comprar o filme ABD e alugar o ABC, ou seja teria que gerar uma factura / recibo (procedure), com os filmes ABC e ABD como alugado e comprado respectivamente Para saber: alg_comp_inicio date not null, é a data em que a factura é imitida, sysdate alg_comp_fim date not null, seria sysdate se o filme fosse comprado ou seria dado ao user para escolher os dias que quer alugar o filme, exemplo 32 dias e iria então o sistema gerar a data 23-01-2008 recibo_custo_total number(10) not null, teria de dar a soma do filme comprado mais o valor do filme alugado x o numero de dias