Recuperar informacion de select anidado

09/09/2005 - 19:22 por Ricardo Daniel ^^Tazz^^ | Informe spam
buenas tardes amigos

tengo que entregar una lista de productos y las
unidades vendidas a ciertos clientes, tengo el select
realizado que me devuelve el id del producto mas la suma
de las cantidades vendidas lo realize de esta forma

select Id_Producto, CP=Sum(cantidad) from DetalleVenta
where DetalleVenta.Id_Venta=Ventas.Id_Venta group by Id_Producto

pero quiero realizar algo asi ahora

select Producto.nombre, CP from Productos where
productos.Id_producto in (select Id_Producto, CP=Sum(cantidad) from
DetalleVenta, Venta where DetalleVenta.Id_Venta=Ventas.Id_Venta group by
Id_Producto)

pero me da como resultado El nombre de columna 'CP' no es válido.

como puedo recuperar el valor del total de CP por que esto y como
podria hacerlo? por su atencion gracias.

Tazz
Stgo., Chile
MBPC-Certificado

Preguntas similare

Leer las respuestas

#1 Isaias
09/09/2005 - 19:43 | Informe spam
Espero sirva

select Producto.nombre, VENTAS.CP
from Productos
where productos.Id_producto join (select Id_Producto, CP=Sum(cantidad) from
DetalleVenta, Venta where DetalleVenta.Id_Venta=Ventas.Id_Venta group by
Id_Producto) as Ventas ON productos.Id_producto = VENTAS.Id_Producto
Respuesta Responder a este mensaje
#2 Ricardo Daniel ^^Tazz^^
09/09/2005 - 20:11 | Informe spam
hola mira lo ke tengo lo armo asi, aclaro que estoy recien empezando en
sql y ya tengo ke prepararme para mi examen, en fin hay les va

select producto.Nombre, Venta.CP from producto where
Producto.ID_Producto in
(select detalleventa.id_producto,CP=sum(detalleventa.cantidad)
from detalleventa where detalleventa.Id_Venta in
(select venta.id_venta from venta
where venta.Id_cliente in
(select cliente.Id_Cliente from cliente
inner join comuna on comuna.ID_Comuna = cliente.Id_Comuna
where comuna.Nombre='providencia'
)
) group by detalleventa.Id_Producto
)


eso no me funca por ke me dice
El prefijo de columna 'Venta' no coincide con un nombre de tabla o con
un alias usado en la consulta

ahora si le zako el venta.CP del 1ª select me dice
Sólo se puede especificar una expresión en la lista de selección cuando
la subconsulta no se especifica con EXISTS.

que puedo hacer me podrian ayudar?


Tazz
Stgo., Chile
MBPC-Certificado
Isaias escribió:
Espero sirva

select Producto.nombre, VENTAS.CP
from Productos
where productos.Id_producto join (select Id_Producto, CP=Sum(cantidad) from
DetalleVenta, Venta where DetalleVenta.Id_Venta=Ventas.Id_Venta group by
Id_Producto) as Ventas ON productos.Id_producto = VENTAS.Id_Producto
Respuesta Responder a este mensaje
#3 Ricardo Daniel ^^Tazz^^
09/09/2005 - 20:12 | Informe spam
hola mira lo ke tengo lo armo asi, aclaro que estoy recien empezando en
sql y ya tengo ke prepararme para mi examen, en fin hay les va

select producto.Nombre, Venta.CP from producto where
Producto.ID_Producto in
(select detalleventa.id_producto,CP=sum(detalleventa.cantidad)
from detalleventa where detalleventa.Id_Venta in
(select venta.id_venta from venta
where venta.Id_cliente in
(select cliente.Id_Cliente from cliente
inner join comuna on comuna.ID_Comuna = cliente.Id_Comuna
where comuna.Nombre='providencia'
)
) group by detalleventa.Id_Producto
)


eso no me funca por ke me dice
El prefijo de columna 'Venta' no coincide con un nombre de tabla o con
un alias usado en la consulta

ahora si le zako el venta.CP del 1ª select me dice
Sólo se puede especificar una expresión en la lista de selección cuando
la subconsulta no se especifica con EXISTS.

que puedo hacer me podrian ayudar?


Tazz
Stgo., Chile
MBPC-Certificado
Isaias escribió:
Espero sirva

select Producto.nombre, VENTAS.CP
from Productos
where productos.Id_producto join (select Id_Producto, CP=Sum(cantidad) from
DetalleVenta, Venta where DetalleVenta.Id_Venta=Ventas.Id_Venta group by
Id_Producto) as Ventas ON productos.Id_producto = VENTAS.Id_Producto
Respuesta Responder a este mensaje
#4 Alejandro Mesa
09/09/2005 - 20:31 | Informe spam
Trata:

select
p.Nombre,
sum(dv.cantidad) as cp
from
producto as p
inner join
detalleventa as dv
on p.id_producto = dv.id_producto
inner join
venta as v
on dv.id_venta = v.id_venta
inner join
cliente as c
on v.Id_cliente = c.Id_cliente
inner join
comuna as com
on com.ID_Comuna = c.Id_Comuna
where
com.Nombre='providencia'
group by
p.Id_Producto,
p.nombre
go


AMB

"Ricardo Daniel ^^Tazz^^" wrote:

buenas tardes amigos

tengo que entregar una lista de productos y las
unidades vendidas a ciertos clientes, tengo el select
realizado que me devuelve el id del producto mas la suma
de las cantidades vendidas lo realize de esta forma

select Id_Producto, CP=Sum(cantidad) from DetalleVenta
where DetalleVenta.Id_Venta=Ventas.Id_Venta group by Id_Producto

pero quiero realizar algo asi ahora

select Producto.nombre, CP from Productos where
productos.Id_producto in (select Id_Producto, CP=Sum(cantidad) from
DetalleVenta, Venta where DetalleVenta.Id_Venta=Ventas.Id_Venta group by
Id_Producto)

pero me da como resultado El nombre de columna 'CP' no es válido.

como puedo recuperar el valor del total de CP por que esto y como
podria hacerlo? por su atencion gracias.

Tazz
Stgo., Chile
MBPC-Certificado

Respuesta Responder a este mensaje
#5 Ricardo Daniel ^^Tazz^^
09/09/2005 - 20:52 | Informe spam
Muchas Gracias era lo que andaba buscando

Tazz
Stgo., Chile
MBPC-Certificado

Alejandro Mesa escribió:
Trata:

select
p.Nombre,
sum(dv.cantidad) as cp
from
producto as p
inner join
detalleventa as dv
on p.id_producto = dv.id_producto
inner join
venta as v
on dv.id_venta = v.id_venta
inner join
cliente as c
on v.Id_cliente = c.Id_cliente
inner join
comuna as com
on com.ID_Comuna = c.Id_Comuna
where
com.Nombre='providencia'
group by
p.Id_Producto,
p.nombre
go


AMB

"Ricardo Daniel ^^Tazz^^" wrote:


buenas tardes amigos

tengo que entregar una lista de productos y las
unidades vendidas a ciertos clientes, tengo el select
realizado que me devuelve el id del producto mas la suma
de las cantidades vendidas lo realize de esta forma

select Id_Producto, CP=Sum(cantidad) from DetalleVenta
where DetalleVenta.Id_Venta=Ventas.Id_Venta group by Id_Producto

pero quiero realizar algo asi ahora

select Producto.nombre, CP from Productos where
productos.Id_producto in (select Id_Producto, CP=Sum(cantidad) from
DetalleVenta, Venta where DetalleVenta.Id_Venta=Ventas.Id_Venta group by
Id_Producto)

pero me da como resultado El nombre de columna 'CP' no es válido.

como puedo recuperar el valor del total de CP por que esto y como
podria hacerlo? por su atencion gracias.

Tazz
Stgo., Chile
MBPC-Certificado

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida