Foros del Web » Programando para Internet » ASP Clásico »

Inner Join simple

Estas en el tema de Inner Join simple en el foro de ASP Clásico en Foros del Web. Hola, tengo que hacer una consulta a 2 tablas relacionadas. Para poner un ejemplo seria esto: strsql = "SELECT productos.titulo,categorias.categoria FROM productos" strsql = strsql ...
  #1 (permalink)  
Antiguo 18/07/2007, 09:18
 
Fecha de Ingreso: julio-2007
Mensajes: 4
Antigüedad: 16 años, 10 meses
Puntos: 0
Inner Join simple

Hola,

tengo que hacer una consulta a 2 tablas relacionadas. Para poner un ejemplo seria esto:

strsql = "SELECT productos.titulo,categorias.categoria FROM productos"
strsql = strsql & " INNER JOIN categorias ON productos.categoria = categorias.Id"

Bien esto funciona pero yo necesito hacerlo de otra manera.

Supongamos que tenemos 3 categorias y dentro de cada una de estas categorias hay 5 productos asociados. Entonces lo que he hecho yo hasta ahora me mostraria un listado con 15 registros de las 15 relaciones. Yo lo que necesito es que me liste unicamente las 3 categorias que tienen relaciones (sean más o sean menos)

Es como hacer un SELECT de categorias que tengan productos relacionados.

Alguien me puede decir como puedo hacerlo?

Muchas gracias
  #2 (permalink)  
Antiguo 18/07/2007, 09:41
 
Fecha de Ingreso: marzo-2007
Ubicación: Mexico
Mensajes: 99
Antigüedad: 17 años, 3 meses
Puntos: 0
De acuerdo Re: Inner Join simple

Hola que tal lo primero que tienes que checar es que las tablas esten bien relacionadas las tabla deberian estar asi:
Tabla Productos
Id_Producto
Producto
Id_Categoria

Tabla Categorias
Id_Categoria
Categoria

ok entonces la relacion seria:
s1="Select Productos.Producto, Categorias.Categoria From Productos"
s2="Inner Join Categorias On Productos.Id_Categoria=Categorias.Id_Categoria"
s3=" Where condicion"
sql=s1&s2&s3

Espero poder ayudarte SUERTE!!!....

Última edición por noraazzul; 18/07/2007 a las 09:47
  #3 (permalink)  
Antiguo 18/07/2007, 11:00
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Re: Inner Join simple

Algo así?

Código:
SELECT categorias.categoria, count(productos.titulo) AS cantidad_productos
FROM productos INNER JOIN categorias ON productos.categoria = categorias.id
GROUP BY categorias.categoria

Última edición por AlZuwaga; 18/07/2007 a las 13:29
  #4 (permalink)  
Antiguo 18/07/2007, 12:06
 
Fecha de Ingreso: marzo-2007
Ubicación: Mexico
Mensajes: 99
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Inner Join simple

si creo que si yo entendi que queria seleccionar todos los productos de alguna categoria pero no es asi, lo que el pretende es seleccionar las categorias que tengan relacion con los productos...
  #5 (permalink)  
Antiguo 18/07/2007, 13:55
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Inner Join simple

Cita:
Algo así?

Código:
SELECT categorias.categoria, count(productos.titulo) AS cantidad_productos
FROM productos INNER JOIN categorias ON productos.categoria = categorias.id
GROUP BY categorias.categoria
Cita:
si creo que si yo entendi que queria seleccionar todos los productos de alguna categoria pero no es asi, lo que el pretende es seleccionar las categorias que tengan relacion con los productos...
En ese caso sería el mismo SELECT sólo que no iría el count y claro esta, tampoco el group by, y bueno, yo me atrevería aponer un distinct

SELECT DISTINCT categorias.categoria, productos.titulo AS cantidad_productos
FROM productos INNER JOIN categorias ON productos.categoria = categorias.id
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:12.