Airton. Estou presumindo que o campo PRODUTOS.CAT é o codigo da categoria CATEGORIAS.ID_CATEGORIA Então, Acho que a logica seria:
SELECT * FROM Produtos P, Categorias C WHERE C.Id_Categoria = "#URL.Id_Categoria#" AND P.Cat = C.Id_Categoria ou então assim ficaria mais bacana ... SELECT * FROM Produtos P INNER JOIN Categorias C ON P.Cat = C.Id_Categoria AND C.Id_Categoria = "#URL.Id_Categoria#" Algumas dicas: 1º -> Sempre que for trabalhar com chaves estrangeiras recomendo sempre colocar nomes identicos. No seu caso, a chave estrangeira é a chave CAT da tabela PRODUTOS. O campo deveria ter o mesmo nome da tabela CATEGORIAS. Isso facilita a visualização na hora da manutenção e desenvolvimento. 2º -> Os Campos ID_CATEGORIA e CAT não são númericos ??? se sim, não use aspas. Pois isso faz com que a query trate o numero como String, que causa perda na performance. 3º -> faça o tratamento do campo URL.ID_CATEGORIA para não ser jogado diretamente na query. Use o eficiente CFQUERYPARAM. Isso evitará problemas futuros de "SQL Injection". De uma lida no histórico da lista para maiores informações. O Alex tem um post excelente sobre o assunto no site dele. é uma pena q eu não tenha o link aqui. Se alguem tiver por favor envie para a lista novamente Abraço LCarneiro Leonardo Carneiro ----- Original Message ----- From: "Airton Toyansk" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Friday, June 04, 2004 4:45 PM Subject: [cf-brasil] Categorias Boas, galera!!! Pode até ser dúvida de iniciante, mas não estou conseguindo sair desse esquema. Criei um BD com 2 tabelas: Produtos e Categorias. Elas estão relacionadas, através do campo Id_Categoria (Categorias) e Cat (Produtos). Preciso exibir, primeiro, um menu com as categorias existentes. Até aí, tudo bem. depois, vem o problema. Quero clicar numa categoria, e carregar uma lista com todos os produtos pertencentes àquela categoria, ou seja, na lógica onde #Categorias.Id_categoria# = #Produtos.Cat#, ou algo asim. No arquivo Menu.cfm <a href="Produtos.cfm?Id_Categoria=#menu.Id_Categoria#" target="conteudo">#Categoria#</a> No arquivo Produtos.cfm <cfparam name="URL.Id_Categoria" default="1"> <cfquery name="prod" datasource="gutomaq"> SELECT * FROM Produtos, Categorias WHERE Id_Categoria = "#URL.Id_Categoria#" AND Cat = "#Id_Categoria#" </cfquery> Erro que retorna: Error Occurred While Processing Request Error Executing Database Query. [MERANT][SequeLink JDBC Driver][ODBC Socket][Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1. The Error Occurred in C:\CFusionMX\wwwroot\gutomaq\Produtos.cfm: line 14 12 : </head> 13 : 14 : <body> 15 : <cfoutput query="prod"> 16 : <table width="350" border="0" align="center" cellpadding="2" cellspacing="2"> -------------------------------------------------------------------------------- SQL SELECT * FROM Produtos, Categorias WHERE Id_Categoria = "2" AND Cat = "2" DATASOURCE gutomaq VENDORERRORCODE -3010 SQLSTATE 07002 Será que estou confundindo tudo?!?! Alguém sabe como posso fazer isso??? Agradeço desde já as respostas. Airton Toyansk. _________________________________________________________________ MSN Messenger: instale grátis e converse com seus amigos. http://messenger.msn.com.br --^---------------------------------------------------------------- This email was sent to: [EMAIL PROTECTED] EASY UNSUBSCRIBE click here: http://topica.com/u/?b1dnXn.b7M5gI.YXJxdWl2 Or send an email to: [EMAIL PROTECTED] For Topica's complete suite of email marketing solutions visit: http://www.topica.com/?p=TEXFOOTER --^----------------------------------------------------------------