Oracle - ¿Error 01722?

 
Vista:
sin imagen de perfil

¿Error 01722?

Publicado por Oscar (2 intervenciones) el 09/05/2015 20:23:58
Hola:

Tengo el problema de que con la siguiente consulta el entorno me indica error 01722 y no entiendo por qué:

1
2
3
4
5
6
7
8
9
10
11
SELECT A.Descripcion
FROM Articulo A
INNER JOIN Suministra S
ON S.IdArticulo = A.IdArticulo
WHERE (S.IdArticulo, S.CodProveedor) IN (
 
SELECT IdArticulo, COUNT(CodProveedor)
FROM Suministra
GROUP BY IdArticulo
HAVING COUNT(IdArticulo) = 2)
;

Obtener los artículos que sean suministrados por 2 proveedores.

Estructura de tablas:

Articulo (IdArticulo, Descripcion, Pv)
Suministra (IdArticulo, CodProveedor, Pc)
Proveedor (CodProveedor, Nombre, Direccion, TlfnoContacto, PersonaContacto)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

¿Error 01722?

Publicado por Oscar (2 intervenciones) el 10/05/2015 11:24:06
Me autorrepondo.

1
2
3
4
5
6
7
8
SELECT DISTINCT a.Descripcion
  FROM Articulo a
  INNER JOIN Suministra s ON a.IdArticulo=s.IdArticulo
  WHERE a.IdArticulo IN (SELECT IDArticulo
          FROM (SELECT IdArticulo,COUNT(*) AS NUM
              FROM Suministra
            GROUP BY IdArticulo)
          WHERE NUM>=3);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar