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




Responder a