Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/10/2004, 00:28
sqa212
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Consulta compleja. Al menos para mi!!

Tengo una base de datos con 2 tablas:

Tabla autores:
Idautor----------autonumerico
nombreautor------texto
apellidosautor---texto


Tabla productos:
idproducto-------autonumerico
titulo-----------texto
Idautor----------numerico
Idautor2---------numerico


Cada producto puede tener mas de un autor, (deje el idautor=1 en la tabla autores con los demas datos de la fila en blanco)
porque si solo tenia un autor utilizaba ese como idautor2 en la tabla productos.


La pregunta es como tendria que hacer para que se muestre para cada autor los productos que le corresponden tanto
si figura como autor unico (es decir, seria idautor2=1 en la tabla productos)
o como coautor es decir, su idautor figura como idautor o idautor2 en la tabla productos) sin que muestre los productos que le correspondan al idautor=1.


He intentado hacer algo como esto pero no lo consigo:


<%@ LANGUAGE = "VBScript" %>
<!-- #include file="db.asp" -->
<html>
<body>
<br>
<table width=100% border=0>
<td valign=top>
<%
set rscatlist=db.Execute("SELECT * FROM productos INNER JOIN autores ON productos.idautor = autores.idautor OR productos.idautor2 = autores.idautor order By autores.idautor")
if rscatlist.eof then
else
idautor=rscatlist("idautor")
Nombreautor=rscatlist("Nombreautor")
apellidosautor=rscatlist("apellidosautor")
idproducto=rscatlist("idproducto")
titulo=rscatlist("titulo")
end if
%>
<%
while not rscatlist.eof
%>
<h2><% = rscatlist("apellidosautor") %>&nbsp;<% = rscatlist("nombreautor") %></h2>
<br>
<%=rscatlist("titulo") %>
<br>
<%
rscatlist.movenext

if not (rscatlist.eof) Then
%>
<%
rscatlist.movenext
end if
if not (rscatlist.eof) Then
%>
<br>
<font face="helvetica" size="2" color="<%= colortexto %>">
<%=rscatlist("titulo") %>
<br>
<%
rscatlist.movenext
end if%>
<%
wend
%>
<%
db.Close
set db = Nothing
%>
</body>
</html>