Como obtener esta Vista

19/09/2008 - 13:18 por JaviML | Informe spam
Tengo la vista1.
¿Como sería la vista para que me muestre los artículos que existan en el
mismo Qdesde pero con diferente precio?
En este caso vemos que no coincide el precio de Qdesde: 5000

vista1:
Agrupacion IDArticulo QDesde Precio
A 1 1000 157
A 1 2000 160
A 1 5000 201
A 2 500 125 -> No
tiene que considerar esta linea, porque el artículo 1 no tiene ese Qdesde
A 2 1000 157
A 2 2000 160
A 2 5000 205
B ..


Me debería de salir en la consulta:

Agrupacion IDArticulo Qdesde Precio
A 1 5000 201
A 2 5000 205

Gracias de antemano.
 

Leer las respuestas

#1 Ricardo Passians
19/09/2008 - 16:12 | Informe spam
Si entendí bien, quizás haciendo una 'diferencia' (instrucción EXCEPT) y
subconsultas:

SELECT A.agrupacion, A.idarticulo, A.qdesde, A.precio
FROM Vista1 A
INNER JOIN
(SELECT qdesde, COUNT(*) AS cnt FROM Vista1
GROUP BY qdesde HAVING (COUNT(*) > 1)) B
ON A.qdesde = B.qdesde
EXCEPT
SELECT C.agrupacion, C.idarticulo, C.qdesde, C.precio
FROM Vista1 C
INNER JOIN
(SELECT qdesde, precio, COUNT(*) AS cnt FROM Vista1
GROUP BY qdesde, precio HAVING (COUNT(*) > 1)) D
ON C.qdesde = D.qdesde AND C.precio = D.precio

Quizás requiera algún ajuste pero la idea es esa.

Espero te sirva.

Saludos

Ricardo Passians



"JaviML" escribió en el mensaje
news:
Tengo la vista1.
¿Como sería la vista para que me muestre los artículos que existan en el
mismo Qdesde pero con diferente precio?
En este caso vemos que no coincide el precio de Qdesde: 5000

vista1:
Agrupacion IDArticulo QDesde Precio
A 1 1000 157
A 1 2000 160
A 1 5000 201
A 2 500 125 ->
No
tiene que considerar esta linea, porque el artículo 1 no tiene ese Qdesde
A 2 1000 157
A 2 2000 160
A 2 5000 205
B ..


Me debería de salir en la consulta:

Agrupacion IDArticulo Qdesde Precio
A 1 5000 201
A 2 5000 205

Gracias de antemano.

Preguntas similares