![]() |
Consultas en SQL
Hola tengo las siguientes tablas y tengo dificultad en resolver las consultas.
CONSULTAS: --Código, descripción y cantidad de productos vendidos durante un mes dado --Operaciones de un cliente dado durante un período indicado --Saldo en cuenta corriente de un cliente dado --Detalle de operaciones en cuenta corriente de un cliente dado --Datos de proveedores que suministran aguas minerales y gaseosas --Datos y cantidades de productos más vendidos durante un mes dado. --Ganancia obtenida en un período dado. --Medios de pagos más utilizados en el último trimestre. --Totales de compras realizadas por familias y grupos de productos. |
Recuerda poner los tags al código fuente, ejemplo:
![]() Gracias :) |
Por favor lee la guia de estilo.
Has hecho un curso de SQL? Conoces de bases de datos relacionales? Hace un tiempo dicte un curso con la ayuda de este sitio: http://www.devjoker.com/gru/Tutorial...nsact-SQL.aspx -- P.D: Para que te quede claro: Es mejor hacer de a una sola pregunta a la vez. Debes mostrar que has intentado. Deben haber ejemplos de codigo y de *datos*. |
Cita:
|
Aquí tienes un tutorial en línea, muy sencillo:
http://www.desarrolloweb.com/manuales/9/ |
Iba a decir que perecen los deberes de clase, cuando has colocado tu segundo mensaje.
Deberías intentar hacer alguna de las consultas y colocarla aquí (lo que te salga), y en ese caso intentaremos ayudarte, pero poner directamente los deberes aquí para que los resolvamos, no parece muy correcto. :(:( Intenta hacer alguna y pregunta sobre lo que tengas dudas o no entiendas. |
Cita:
|
¿Y cuál es el problema?
|
Cita:
Cita:
¿Te dan error? ¿No salen los datos? |
Revisando un poco....
Si no entiendo mal, los productos "vendidos" deberían ser aquellos que tienen factura. Por lo tanto deberías buscar: Facturas en el mes concreto y a partir de ahí (JOIN) acceder a los productos (ya que la factura tiene un cód. de producto). Si haces la JOIN de esas 2 tablas ya tienes: CODIGO, DESCRIPCION y CANTIDAD DEL PRODUCTO y la FECHA (para el where). Prueba a hacer esta (con JOIN) a ver qué sale... NOTA: Para añadir tablas diferentes a una SQL normalmente hay que usar JOIN. Por eso te está fallando la que pones. Si en lugar de facturas, usas compras, es similar. En COMPRAS tienes la FECHA, en DETALLE_COMPRAS el CODIGO y la CANTIDAD y en PRODUCTOS la DESCRIPCIÓN. Pero esas tres tablas deberán estar en la SQL unidas mediante JOIN. |
Un ejemplo práctico de lo que digo:
Valores de la tabla de compras:
Si quiero 2 campos de compras (fecha y dni) puedo hacer esto:
Si a eso quiero añadir el nombre del cliente; Como está en otra tabla distinta deberé añadir la tabla de clientes a la SQL. Y además decirle al sistema cómo se relacionan ambas tablas. Para ralacionaer ambas tablas debo hacer una JOIN y en el ON indicar los campos que se relacionan:
Fíjate en la tercera línea; Es algo así como decir que la tabla de clientes la añado a la consulta y la relaciono con la tabla de compras de la forma: "compras.dni=clientes.dni" De esta forma ya sabes cómo se relaxcionan tablas y puedes añadir campos de diferentes tablas a la consulta, pero siempre deberás añadirlas y relacionarlas de forma coherente. Otro ejemplo; En las facturas tengo los datos de cada factura, pero no tengo el NOMBRE DEL PROVEEDOR. Si quiero obtener el nombre del proveedor deberé relacionar ambas tablas (si se puede); en este caso sí, utilizando el COD_PROV.
|
Empecemos con la primera, tal y como te he explicado más arriba.
Intenta hacerla utilizando JOIN's. Nos centramos en una y lo comentamos, cuando lo entiendas las demás deberán salir de forma similar. |
Al primero no le encuentro la vuelta
--Código, descripción y cantidad de productos vendidos durante un mes dado
|
Hola eennzzoo.
Es que esa selección está inconexa, no existe relación alguna entre columnas y que filtre las tablas en juego. No miré a fondo los campos que establecen las relaciones entre tus tablas, pero en líneas generales la consulta debería ser algo parecido a esto:
Saludos :) |
Pido disculpas, porque intentando añadir una respuesta y modificar una existente he "cambiado" el contenido de uno de tus mensajes [eennzzoo], en concreto este. Me hice un lío. :o
Tal y como te explica ecfisa, a este consulta tuya, le falta conectar las tablas (usando JOIN y ON) Cita:
Cita:
él ha utilizado un "Alias" para cada tabla (la letra que hay detrás del nombre) y las ha unido con JOIN..ON |
Cita:
![]() Y en detallecompra tengo eso. Me tendria que mostrar COD_PROD DESCRIPCION CANTIDAD 1 Aguas minerales 3 2 Gaseosas 1 Gracias por la ayuda. |
A mi, esta:
Me da esto: ![]() |
Cita:
|
Cita:
Probe con esa consulta pero no devuelve nada. En pedidos y productos tengo esto: ![]() Me tendria que mostrar los datos del proveedor 2 ya que suministra los 2 productos.Gracias. |
Hola eennzzoo.
Cita:
No sé la finalidad de la consulta, pero tal vez deberias usar OR como operador lógico. Saludos :) |
La franja horaria es GMT +2. Ahora son las 05:17:34. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi