[Php-avanzado] Querys
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mar Jul 2 20:32:41 ART 2013
Hola Leandro,
Sin un vuelco de las tablas no puedo ejecutar las querys, pero te
cuento lo que veo del propio SQL:
A) te falta proyectar el almacén.
B) esta query no devuelve más de una vez al Producto si está en más de
un almacén???
C) esto no devuelve la cantidad de productos, sino un listado de los
productos. Tenés que usar una función de agregación
D) La ejecutás y te devuelve un total consistente con tu lote de
pruebas?
E) Al no haber un WHERE o un JOIN que relacione las tablas, esto debe
devolver el promedio del producto cartesiano de los promedios...
F) Acá tenes otro producto cartesiano: 3 tablas en el FROM y solo dos
relacionadas en el WHERE. Conviene agrupar siempre por clave primaria,
ya que te garantiza que es única.
G) idem anterior.
Armate un lote de pruebas piola y andá probando qué devuelve cada una!
El mar, 02-07-2013 a las 01:49 -0300, leandro saubiette escribió:
> Leo te paso los ejercicios de SQL.
>
>
>
> Saludos
>
>
>
>
>
>
> documento de
> texto sencillo
> adjunto
> (Ejercicio 1.txt)
>
> A)SELECT p.idProducto, p.codigo, p.descripcion, p.precio, s.cantidad
> FROM (
> Productos AS p, Stock AS s
> )
> WHERE p.idProducto = s.idProd
> LIMIT 0 , 30
>
> B)
>
> SELECT p.codigo, p.descripcion, s.cantidad
> FROM (
> Productos AS p, Stock AS s
> )
> WHERE s.idProd = p.idProducto
> AND s.cantidad >5
> LIMIT 0 , 30
>
>
> C)
>
> SELECT SUM( s.cantidad ) AS Total, a.idAlmacen
> FROM (
> Stock AS s, Almacenes AS a
> )
> WHERE s.idAlmacen = a.idAlmacen
> GROUP BY s.idAlmacen
> LIMIT 0 , 30
>
>
>
> D)
> SELECT count(idProducto) AS CANTIDAD
> FROM Productos
>
>
> E)
>
>
> SELECT AVG(precio) as Promedio
> FROM Prodcutos
>
>
> F)
>
> SELECT cantidad, idAlmacen
> FROM Stock
> GROUP BY idAlmacen
> LIMIT 0 , 30
>
>
>
> G)
>
>
> SELECT AVG( s.cantidad * p.precio ) AS promedio, s.idAlmacen
> FROM (
> Stock AS s, Productos AS p, Almacenes AS a
> )
> WHERE a.idAlmacen = s.idAlmacen
> GROUP BY a.idAlmacen
> LIMIT 0 , 30
>
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado