Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ^Tifa^

#1
A lo mejor esto te puede ayudar.

Tengo 2 tablas (como ejemplo):

Código (sql) [Seleccionar]

mysql> describe example;
+--------+----------+------+-----+---------+-------+
| Field  | Type     | Null | Key | Default | Extra |
+--------+----------+------+-----+---------+-------+
| nombre | char(20) | YES  |     | NULL    |       |
| fecha  | date     | YES  |     | NULL    |       |
+--------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)

mysql> describe ejemplo;
+--------+----------+------+-----+---------+-------+
| Field  | Type     | Null | Key | Default | Extra |
+--------+----------+------+-----+---------+-------+
| nombre | char(20) | YES  |     | NULL    |       |
| fecha  | date     | YES  |     | NULL    |       |
+--------+----------+------+-----+---------+-------+
2 rows in set (0.02 sec)


Una tiene registros, la otra esta vacia:

Código (sql) [Seleccionar]


mysql> select * from ejemplo;
+--------+------------+
| nombre | fecha      |
+--------+------------+
| coco   | 0000-00-00 |
| Maria  | 2010-11-23 |
| Juan   | 2005-05-23 |
| Carlos | 2004-05-25 |
| Ana    | 2010-11-23 |
+--------+------------+
5 rows in set (0.00 sec)

mysql> select * from example;
Empty set (0.00 sec)



Asi que, como quiero obtener todos los 'nombres' de la tabla ejemplo he introducirlos en la tabla example
no puedo hacer lo que sugeriste al inicio de este post, porque:

1 - Una consulta INSERT unica en la linea de comando, solo sirve para insertar 1 sola fila dentro de una tabla
No es un bucle, no es un loop, es una sola fila dentro de la tabla.

2 - Al utilizar un subquery como hiciste, dentro del unico INSERT en linea de comando, caemos en el mismo problema
dicho subquery te retorna mas de 1 registro (SELECT * FROM... retorna varios registros no uno solo) sin embargo
tu consulta INSERT solo inserta 1 fila de una sola vez.

ENtonces que haces, si tu tienes que captar varios registros y ingresarlo en una tabla pero con una simple consulta
SQL INSERT en linea de comandos no puedes? pues te ayudas en este caso de un procedimiento almacenado, como bien dijiste
dicho procedimiento tiene que tener CURSORES y un bucle repetitivo que vaya captando indice por indice cada registro
y lo vaya insertando en la tabla deseada... entonces, (no soy buena con el limitante PL/SQL de MySQL) pero aqui vamos,
esto te puede servir de ejemplo:

Código (sql) [Seleccionar]


mysql> delimiter /

mysql> create procedure proceso()
begin
declare hecho int default 0;
declare a char(20);
declare cursor1 cursor for select nombre from primaria.ejemplo;
declare continue handler for sqlstate '02000' set hecho = 1;
open cursor1;
repeat
fetch cursor1 into a;
if not hecho then
insert into example values(a, '2010-11-23');
end if;
until hecho end repeat;
close cursor1;
end;
/

mysql> delimiter ;



Hecho el procedimiento anterior.. lo llamas:

Código (sql) [Seleccionar]


mysql> call proceso();
Query OK, 1 row affected (0.01 sec)

mysql> select * from example;
+--------+------------+
| nombre | fecha      |
+--------+------------+
| coco   | 2010-11-23 |
| Maria  | 2010-11-23 |
| Juan   | 2010-11-23 |
| Carlos | 2010-11-23 |
| Ana    | 2010-11-23 |
+--------+------------+
5 rows in set (0.00 sec)



Salu2.

#2
Foro Libre / Re: ^^
3 Junio 2010, 19:09 PM
CitarHay muchas bandas muy buenas que nunca fueron a mtv y ni ganaron nada y no por eso dejan de ser buenas bandas, MTV sobrevalora el talento de los musicos y prefiere musica comercial, tales como jonas brothers, miley cyrus... etc o me diras que ellos estan donde estan por hacer "musica de calidad"

En que momento descalifique la calidad de alguna de las bandas antes mencionadas?? lo que si especifique, y vuelvo a reconfirmarlo que gracias al empuje de Nirvana en el mundo de la musica, estas otras bandas pudieron abrirse camino al ambito internacional, ya que previo a ello no eran muy populares o conocidas (esto es totalmente individual a la calidad de la banda).

Sabes porque MTV tuvo que elegir Britney Spears, Cristina Aguilera, M. Cyrus, etc... porque sino te diste cuenta, cuando Cobain murio, toda esa era de admiracion del grunge y el alternative fue comenzando a decaer, decaer, hasta que finalmente la industria de la musica tiene lo que mencionas. Necesitamos otra banda como Nirvana para que nuevamente todo vuelva a hacer como los mediados de los 90 si surgiera otra Nirvana en la actualidad, todas esas bandas grunge y alternative que existen ocultas pudieran alcanzar el mercado internacional, porque ya los empresarios confiarian en que el producto deja dinero, con 1 sola banda que lo logre es suficiente para los empresarios considerar las otras.  ;)  Lo que hizo Nirvana con 3 acordes y letras sin sentido no lo ha hecho ninguna de las bandas que mencionas y no es por descartar calidad repito, a mi me gustaban Pearl Jam y Soundgarden tambien bastante, pero el merito que Nirvana les dio a estas bandas para abrirle las puertas al publico masivo no puedo retirarselo a Kurt Cobain lamentablemente.

CitarPero si antes de esos tiempos ya sonaban con mucha fuerza aic y pearl jam (en el 92 pearl jam hizo el unplugged) cerca de ese año AiC colapso en Rock in Rio otra cosa muy diferente es que recien conoscas estas bandas por nombres

Y cuando salio el album Nevermind de Nirvana... te suena 1991 con el boom que Nirvana comenzo a obtener con este album, vuelve y se complementa lo que indique mas arriba, un boom mercadologico que estaba ganando publico joven de forma masiva.. otros empresarios que ya no manejaban economicamente a nirvana necesitaban el mismo beneficio economico que estaban observando Nirvana estaba obteniendo, asi que todos a firmar bandas grunge y darle publicidad masiva, el boom estaba bastante bueno habia que aprovecharlo.

Sobre 94-98 hice incapie, puesto que despues de la desaparicion de Nirvana todo fue muriendo en el ambito grunge - alternative. Las bandas grunge y alternative de aquel entonces algunas continuan hasta hoy, pero la demanda ya es muy muy limitada en comparacion a aquel entonces en el cual lastimosamente para los que no quieren escucharlo, pero en el cual Nirvana abrio la brecha que limitaba la musica a solo 2 o 3 generos comerciales, murio Nirvana pues volvimos a lo mismo de antes, limitacion de la brecha musical a solo 2 o 3 estilos comerciales.

#3
Foro Libre / Re: ^^
2 Junio 2010, 20:37 PM
Nirvana fue comercial porque sus canciones se ganaron el gusto del publico lo cual es diferente  ;)  recuerda que Nirvana era una simple banda de Seattle de un garaje, pero luego de Bleach (que tiene un toque de la musica pesada de los 80's mixto grunge) con Nervermind destaparon y abrieron el camino para todas esas bandas a las cuales haces mencion, y por ser los pioneros como banda grunge en ser tan tan populares, el merito se lo lleva Cobain lamentablemente para ti por no gustarte la idea, yo conoci Temple of the Dog, y tu haz de saber que previo a Nirvana, ninguna de esas bandas tenian demanda exclusiva como lograron alcanzar entre el periodo 94-98 al menos, pero Nirvana termino de influenciarlos y ellos desarrollaron un grunge+alternative ya que Nirvana si tenia un toque grunge+popero pero gracias a Nirvana y lo que calificas producto de MTV (que mas bien fue que ellos se lo ganaron por crear musica de calidad aunque no en letras sino estilo) llegaron donde llegaron y abrieron puertas a las demas que estaban asi semi-ocultas con un publico reducido mas bien ya que las puertas estaban abiertas para bandas de otro estilo como Guns N Roses o Bon Jovi, hasta que boom aparece Nirvana con Nevermind y ahi comienzan las disputas entre Nirvana y Axl Rose...

Yo conozco a Alice in Chains, soundgarden, stone temple pilots etc.. me gustan no dire que no, pero tengo que darle su merito a Nirvana no puedo arrebatarselo. Entiendo que Nirvana no te guste a lo mejor, pero gracias a Cobain y Nirvana tus bandas ganaron el espacio que requerian en el mercado.
#4
Foro Libre / Re: ^^
2 Junio 2010, 18:12 PM
Individualmente de las sin sentido letras en las canciones de Nirvana, hay algo que parece que obvias Pazador... Nirvana fue el precursor original del grunge, de ahi que digan que cuando Kurt Cobain murio, murio el grunge porque el era el padre de todas esas bandas de los 90 que copiaron de una u otra forma el estilo musical nativo de Nirvana (SoundGarden, Pearl Jam, Temple of the Dog, etc...) todas esas bandas de una u otra manera fueron influenciadas por el estilo de musica grunge que Nirvana aporto... Nirvana revoluciono de una manera radical la musica gracias a Nirvana se crearon otros estandares en la musica que no existian como es el Alternative, ya que lo unico que existia era el Pop, Metal, rap, punk (hablo de musica anglosajona, obviar ritmos latinos no entran aca).

De verdad, seria favorable que vieras quienes fueron las influencias de estilos en la mayoria de esas bandas de las cuales haces mencion como 'grandes' a lo mejor te caiga de sorpresa cuando leas la palabra 'Nirvana' o 'Kurt Cobain' como mayor precursor a sus estilos que tanto te gustan.

#5
Foro Libre / Re: Tu pequeño secreto
2 Junio 2010, 16:24 PM
Porfavor chicos la foto era para Constance   ;)  no desvien la pregunta inicial por esta, cualquier cosa a comentar existe el MP y existe el messenger (Si para ti GNU Lopez  :xD )

Por cierto Peibol... me ganaste en consumo alimentario   :xD pero para tu estatura, no veo tantisimo peso exhagerado yo tengo 70 kilos.
#6
Cuidado, cuidado, cuidado con los GROUP BY en una Subquery que no guarde el resultado en un arreglo  ;)

Código (sql) [Seleccionar]

(select count(asistencia.sancion) as "sancion" from asistencia join empleado
where asistencia.ci = empleado.ci
and asistencia.sancion = true
and asistencia.quincena = "2da de Mayo"[b] group by[/b] asistencia.ci) as "dias sancionados"



En esa consulta se retornara mas de 1 registro, sin embargo como consulta independiente sola si funcionaria, pero como subconsulta NO al no ser claro esta que guardaras los registros retornados en un arreglo... algo mas o menos asi:

Código (sql) [Seleccionar]

select empleado.ci, empleado.nombre1, empleado.nombre2, empleado.apellido1,empleado.apellido2,
empleado.cargo, asistencia.quincena , count(asistencia.asistencia) as "dias laborados" , campo IN

(select count(asistencia.sancion) as "sancion" from asistencia join empleado
where asistencia.ci = empleado.ci
and asistencia.sancion = true
and asistencia.quincena = "2da de Mayo" group by asistencia.ci) as "dias sancionados"

from empleado join asistencia
where asistencia.asistencia=true
and  asistencia.ci=empleado.ci
and asistencia.quincena="2da de Mayo" group by asistencia.ci



Pero lo anterior puede que no precisamente te retorne lo que andas solicitando en realidad, (deberia evaluar la estructura de las tablas existentes, los registros, y analizar y ejecutar tu consulta SQL que no lo he hecho  :xD )

Pero no puedes usar la clausula GROUP BY en una subquery donde no exista una especie de arreglo que capte dicho resultados, en tu caso como No existe un arreglo que capte y asumiendo que si usas IN no retorne lo que solicitas, pues tendras que obviar el GROUP BY de la subquery y unicamente usar campos con igualaciones constantes (digase  WHERE CAMPO = CAMPO AND CAMPO = CAMPO) y si tu tabla respeta la normalizacion, con campo = campo no debera retornar mas de 1 registro duplicado (que si retorna mas de un duplicado te pasara el mismo inconveniente) y tendras que filtrar la subquery usando algo como LIMIT por ejemplo o la clausula DISTINCT

Salu2
#7
Foro Libre / Re: Tu pequeño secreto
2 Junio 2010, 04:57 AM
Tranquila Constance, yo tampoco es que tenga un perfil de Miss Mundo o similar   :xD



Gordita en lo que cabe.
#8
Foro Libre / Re: Tu pequeño secreto
1 Junio 2010, 16:54 PM
Cita de: flony en  1 Junio 2010, 14:16 PM
tenerle miedo a todas... :rolleyes: tiene algo que ver con tu firma?  :¬¬

Jajajajjaaja  :xD

Cuando dije tod@s  me referia a todos/todas en conjunto. Corrigo la frase para que sea mas entendible:

Mi secreto es tenerle fobia a aquello que a los humanos les encanta tener.

Quienes, me conozcan de lleno pueden que sepa a que me puedo referir... quienes no, pues nada les dejo en duda   :xD

Mi firma, nah no tiene nada que ver con mi frase, la firma es un trolleo nada mas  :xD  graciosa es todo.

Constance, si tu vieras los platos que yo consumo durante el dia te caes para atras 20 veces  :xD duermo 5 horas todos los dias, desayuno generalmente 364 gramos de cereal con leche (si ese cereal de Kellogs) la caja completa consumo de desayuno, de merienda antes del almuerzo siempre consumo una bebida y un aperitivo los cuales pueden ser coca cola+1 pedazo de pizza, 1 chocolate caliente + 1 croissants relleno de algo, 1 vaso de jugo + 1 empanada, etc.. De almuerzo consumo al menos como minimo 3 cucharadas de las grandes que se usan para cocinar de arroz, carne generalmente frita (pollo empanizado o pescado), frijoles o judias, ensalada y agua. Y de cena, algo leve sin azucar esto puede ser 2 o 3 paquetes de Doritos, papitas fritas, platanitos verdes o machos fritos, etc...

Ejercicios? lo unico que hago son 3 o 2 horas de artes marciales 3 dias a la semana, el resto paso como tremendo parasito sentada en una silla en el trabajo, luego en casa sentada nuevamente frente a la laptop, y luego dormir... lol   :xD
#9
Sino quiere considerar lo de la Vista (Que seria favorable en este caso pero.... ) reconsidera de verdad lo del update manual.. la Vista seria 1 solo paso y controlado por la DB como tal... un Update manual como dices, sera controlado por varias consultas SQL, puede crear datos redundantes o erroneos ( imaginate que insertas datos a tus tablas, y en lo que haces el UPDATE manual otro usuario elimina el ultimo registro donde colocaste el ID final), y finalmente aplicar los cambios...

Eso es consumo de CPU que aunque sean fraciones de segundos, te evitarias tener que rebuscar y peticionar tantas lecturas de RAM o obtener datos errones o similares...

Yo consideraria la Vista.
#10
Foro Libre / Re: Tu pequeño secreto
1 Junio 2010, 02:35 AM
La pregunta dice cual es tu pequeño secreto.. sin indicar si me hace  o no feliz, asi que asumire que la pregunta dice unicamente cual es tu secreto.

Mi secreto es, tenerle miedo a algo que les encanta a tod@s.

Salu2.