SQL - adicionar un campo a una tabla proveniente de otra

   
Vista:

adicionar un campo a una tabla proveniente de otra

Publicado por radamanto (1 intervención) el 20/05/2011 01:15:35
buenas, de antemano gracias por su ayuda. alguen del foro me ayudo a crear una vista. la vista me genera la cantidad de articulos vendidos por mes en una tienda. esta es la vista


SELECT descripcion,
SUM( CASE WHEN (month(fecha)) = 1 THEN cantidad ELSE 0 END) Enero,
SUM( CASE WHEN (month(fecha)) = 2 THEN cantidad ELSE 0 END) febrero,
SUM( CASE WHEN (month(fecha)) = 3 THEN cantidad ELSE 0 END) Marzo,
SUM( CASE WHEN (month(fecha)) = 4 THEN cantidad ELSE 0 END) Abril,
SUM( CASE WHEN (month(fecha)) = 5 THEN cantidad ELSE 0 END) Mayo,
SUM( CASE WHEN (month(fecha)) = 6 THEN cantidad ELSE 0 END) Junio,
SUM( CASE WHEN (month(fecha)) = 7 THEN cantidad ELSE 0 END) Julio,
SUM( CASE WHEN (month(fecha)) = 8 THEN cantidad ELSE 0 END) Agosto,
SUM( CASE WHEN (month(fecha)) = 9 THEN cantidad ELSE 0 END) septiembre,
SUM( CASE WHEN (month(fecha)) = 10 THEN cantidad ELSE 0 END) Octubre,
SUM( CASE WHEN (month(fecha)) = 11 THEN cantidad ELSE 0 END) noviembre,
SUM( CASE WHEN (month(fecha)) = 12 THEN cantidad ELSE 0 END) diciembre,
SUM(cantidad) Total
FROM prueba1
GROUP BY descripcion

pero ahora le quiero agregar la cantidad existente de cada articulo al final, eso esta en otra tabla. si se puede hacer les agradeceria su ayuda.
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

adicionar un campo a una tabla proveniente de otra

Publicado por Miguel (16 intervenciones) el 26/05/2011 19:15:19
SELECT P.descripcion,
SUM( CASE WHEN (month(P.fecha)) = 1 THEN P.cantidad ELSE 0 END) Enero,
SUM( CASE WHEN (month(P.fecha)) = 2 THEN P.cantidad ELSE 0 END) febrero,
SUM( CASE WHEN (month(P.fecha)) = 3 THEN P.cantidad ELSE 0 END) Marzo,
SUM( CASE WHEN (month(P.fecha)) = 4 THEN P.cantidad ELSE 0 END) Abril,
SUM( CASE WHEN (month(P.fecha)) = 5 THEN P.cantidad ELSE 0 END) Mayo,
SUM( CASE WHEN (month(P.fecha)) = 6 THEN P.cantidad ELSE 0 END) Junio,
SUM( CASE WHEN (month(P.fecha)) = 7 THEN P.cantidad ELSE 0 END) Julio,
SUM( CASE WHEN (month(P.fecha)) = 8 THEN P.cantidad ELSE 0 END) Agosto,
SUM( CASE WHEN (month(P.fecha)) = 9 THEN P.cantidad ELSE 0 END) septiembre,
SUM( CASE WHEN (month(P.fecha)) = 10 THEN P.cantidad ELSE 0 END) Octubre,
SUM( CASE WHEN (month(P.fecha)) = 11 THEN P.cantidad ELSE 0 END) noviembre,
SUM( CASE WHEN (month(P.fecha)) = 12 THEN P.cantidad ELSE 0 END) diciembre,
SUM(P.cantidad) Total,
OT.catidadexistente
FROM prueba1 P
INNER JOIN OtraTabla OT ON P.articulo=OT.articulo... (irian todos los enlaces entre las 2 tablas)
GROUP BY P.descripcion, OT.catidadexistente

Saludos,
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

POR FAVOR AYUDENME CON ESTE PROCEDIMIENTO CON HANDLERS TENGO PARCIAL MAÑANA JUEVES

Publicado por liliana lgamboa@almaviva.com.co (3 intervenciones) el 27/06/2012 16:14:11
2. Crear un procedimiento, que muestre el valor de la nomina de la empresa (salario + comsion) en una variable llamada v_nomina.

3. Crear un procedimiento que inserte en una tabla llamada NUEVOS el nombre y tiempo laborado en meses de los empleados que llevan menos de un año trabajando.

4. Crear un procedimiento que inserte en una tabla llamada DESCUENTOS el nombre, salario y comisión de los empleados teniendo en cuenta las siguientes condiciones:
-si el salario es menor o igual a 1500,el descuento es el 2%
-si el salario es mayor a 1500 y menor o igual a 2500 , el descuento es el 2,5%
-si el salario es mayor a 2500 y menor o igual a 3500, el descuento es del 3%
-si el salario es mayor a 3500, el descuento es del 3,5%

5. Crear un procedimiento que permita insertar un registro en la tabla departamento.

6. Crear un procedimiento que permita eliminar un empleado tomando como parámetro de entrada el código.

ESTA ES LA base de datos con las tablas que relacionana en la pregunta

create database empresa;
use empresa;

create table departamento(
cod_dep int not null,
nombre_dep varchar(30) not null,
ubicacion varchar(30) not null,
primary key(cod_dep));

create table empleado(
codigo int not null,
nombre varchar(30) not null,
cargo varchar(30) not null,
f_ingreso date not null,
salario int not null,
comision int not null,
deptno int not null,
primary key(codigo),
foreign key (deptno) references departamento(cod_dep));


insert into departamento values(10,"contabilidad", "cali");

insert into departamento values(20,"investigacion","bogota");

insert into departamento values(30,"ventas","manizales");




insert into empleado values(7369,"Carlos Perdomo","SUPERVISOR","1980-12-17",800,50,20);

insert into empleado values(7499,"Fernando Velez","VENDEDOR","1981-2-20",1600,300,30);

insert into empleado values(7521,"Rosario Gomez","VENDEDOR","1981-12-22",1250,500,30);

insert into empleado values(7566,"Jones Wilson","AUXILIAR","1981-4-21",2975,200,20);

insert into empleado values(7654,"Martin Vanegas","VENDEDOR","1998-3-4",1250,1400,30);

insert into empleado values(7698,"Blake Salas","AUXILIAR","2003-8-4",2850,150,30);

insert into empleado values(7782,"Clark Ken","AUXILIAR","2006-11-30",2450,1200,10);

insert into empleado values(7788,"Alma Scott","ANALISTA","2004-7-14",3000,0,20);

insert into empleado values(7839,"Clara Lopez","PRESIDENTE","1998-11-11",5000,0,10);

insert into empleado values(7844,"Zoila Estrada","VENDEDOR","2007-10-3",1500,1300,30);

insert into empleado values(7876,"Diego Perez","SUPERVISOR","1999-11-3",1100,100,20);

insert into empleado values(7900,"Ximena Rugeles","SUPERVISOR","2000-12-20",950,2500,30);

insert into empleado values(7902,"Viviana Morales","ANALISTA","2001-11-11",3000,1800,20);

insert into empleado values(7934,"Tito Lopez","SUPERVISOR","2006-6-5",1300,0, 10);




MUCHAS GRACIAS ESPERO RESPUESTA
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

POR FAVOR AYUDENME CON ESTE PROCEDIMIENTO CON HANDLERS TENGO PARCIAL MAÑANA JUEVES

Publicado por leonardo_josue (877 intervenciones) el 27/06/2012 18:36:55
Hola Liliana...

estuve a punto de cerrar tu post sin siquiera leerlo, pero veo que es tu primer intervención, así es que te valió al menos que te haga algunas recomendaciones.

En primer lugar, NO ES CORRECTO QUE UTILICES UNA PREGUNTA ABIERTA PARA EXPONER TUS DUDAS. Es como si interrumpieras una plática en la que no tienes nada que ver. Abre tu propia pregunta.

Segundo, AQUÍ NO HACEMOS LA TAREA DE OTROS... tienes dudas, perfecto, te ayudamos a resolver esas dudas, pero no nos pidas que te hagamos el trabajo... En tu post ni siquiera te tomas la delicadeza de expresar qué problemas estás teniendo, o qué dudas tienes con respecto a lo que te piden... Tampoco nos dices qué es lo que haz intentado hacer, así es imposible tratar de ayudarte.

Tercero, NO EXIJAS RESPUESTAS EN TIEMPOS LÍMITE. No es nuestra culpa que tengas sólo un día para entregar este trabajo, aunque podría asegurar que tuviste tiempo de sobra para resolver los ejercicios... A los foristas no nos pagan por contestar preguntas, ni este es nuestro trabajo... Todos tenemos otras actividades y nos tomamos un tiempo para tratar de resolver dudas así es que tienes que estar consiente que la respuesta puede tardar algún tiempo en aparecer...

Cuarto, no nos dices con qué BD estás trabajando... aunque todos los DBMS trabajan con SQL como lenguaje de consultas, las diferencias en sintaxis para cada uno de ellos, sobre todo en la parte de los SP y funciones es muy variada.

Quinto, no nos pongas toda una lista de preguntas, los foros hay que tratar de hacerlos lo más sencillos posibles, es preferible que abras 4 preguntas, en lugar de lo que hiciste...

Espero que no tomes esto a mal... te aseguro que tenemos todo el ánimo de ayudar, pero en casos como el tuyo se lo piensa uno dos veces. Muestra algo de iniciativa, dinos que es lo que estás haciendo y en qué tienes problemas y con gusto tratamos de ayudarte.

Saludos
Leo.
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

POR FAVOR AYUDENME CON ESTE PROCEDIMIENTO CON HANDLERS TENGO PARCIAL MAÑANA JUEVES

Publicado por liliana (3 intervenciones) el 27/06/2012 22:43:26
Ok muchas gracias
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

POR FAVOR AYUDENME CON ESTE PROCEDIMIENTO CON HANDLERS TENGO PARCIAL MAÑANA JUEVES

Publicado por liliana (3 intervenciones) el 27/06/2012 22:48:24
* la profe nos entrego esto ayer a las 10.00 pm
*es la primera vez que entro a este foro y no me di cuenta que escribi pregunta sobre un foro que ya estaba abierto
* no exijo tiempo, simplemente escribi que es para mañana el que me puede ayudar bien el que no tambien
* estoy trabajando en esto aun no tengo nada concluso
*yo pense que esta pagina es como otra que he entrado la gente escribe un pregunta o un taller y se lo resuelven muy bien explicado,,,, me equivoque con esta pagina
*escribi todas las preguntas por si alguien contesta 1 pues ya tendria una opcion de ganar
*y escribi la BD es con SQL
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

POR FAVOR AYUDENME CON ESTE PROCEDIMIENTO CON HANDLERS TENGO PARCIAL MAÑANA JUEVES

Publicado por leonardo_josue (877 intervenciones) el 28/06/2012 19:00:35
Pero no tomaste a mal mi comentario verdad???

SQL no es una BD, es un lenguaje de consultas...

http://es.wikipedia.org/wiki/SQL

Tal vez te refieras a SQL Server, MySQL, PosgreSQL y un largo etcétera...

http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos.

Tampoco mencionabas en tu primer post que tu profesor les acababa de entregar el trabajo, que estabas trabajando y por eso no incluías código (nunca te pedí que pusieras código completo, te pedía que pusieras lo que INTENTASTE hacer, incompleto o erroneo. De hecho en la última frase expreso textualmente:

1
2
dinos que es lo que estás haciendo y en qué tienes problemas y con gusto
tratamos de ayudarte.


En fin Suerte con tu parcial...

Leo

P.D. podrías decirnos cuál es esa página donde la gente escribe un pregunta o un taller y se lo resuelven muy bien explicado??? Igual y dejamos de utilizar este foro.
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