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 --^----------------------------------------------------------------
