Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/07/2011, 14:41
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 18 años, 1 mes
Puntos: 447
Respuesta: Consulta que me esta volviendo locoo

Con permiso del compañero gnzsoloyo:

P1 y P2 son alias para la tabla PRODUCTOS ya que tienes una especie de relación circular

Código:
FROM productos P1 INNER JOIN productos P2 
en cuanto al error de tu consulta, este se debe a que cuando pones esto:

Código:
VALOR='mediana'
no especificas a qué tabla se refiere el campo VALOR, y este existe tanto en P1 como en P2, por lo tanto es necesario que especifiques también el alias de la tabla correspondiente.

Código:
P1.VALOR = 'mediana'             o             P2.VALOR = 'mediana'
Ahora bien, no entiendo qué ID es el que tiene que regresar tu consulta, puedes probar con esto, pero no sé si es lo que estás buscando

Código MySQL:
Ver original
  1. mysql> create table TuTabla (ID int, ATRI_ID int, PROD_ID int,
  2.     -> VALOR varchar(10));
  3. Query OK, 0 rows affected (0.83 sec)
  4.  
  5. mysql> insert into TuTabla values
  6.     -> (1, 1, 1, 'ROJO'),
  7.     -> (2, 1, 1, 'VERDE'),
  8.     -> (3, 2, 1, 'PEQUEÑA'),
  9.     -> (4, 2, 1, 'MEDIANA');
  10. Query OK, 4 rows affected (0.14 sec)
  11. Records: 4  Duplicates: 0  Warnings: 0
  12.  
  13. mysql> select T1.PROD_ID from TuTabla T1
  14.     -> inner join TuTabla T2 on T1.PROD_ID = T2.PROD_ID
  15.     -> where T1.VALOR = 'VERDE' and T2.VALOR = 'MEDIANA';
  16. +---------+
  17. | PROD_ID |
  18. +---------+
  19. |       1 |
  20. +---------+
  21. 1 row in set (0.06 sec)

T1 y T2 al igual que P1 y P2 son alias de la misma tabla.

Si no es lo que quieres obtener te pediría que nos explicaras mejor cuál es la salida que estás esperando.

Saludos.
Leo.