Comunidad de diseño web y desarrollo en internet online

Problemita con MySQL

Citar            
MensajeEscrito el 16 Abr 2010 07:09 pm
Buenas a critalab, finalmente me hice miembro, con la idea de que alguien me pudiera ayudar un poco con SQL. No estoy seguro de que puedan pero pregunto por las dudas.

El tema es el siguiente: Tengo 2 tablas, una llamada Clientes y otra Servicios:
Clientes: id, nombre, apellido, localidad, direccion, telefono, email, saldo;
Servicios: idCliente, NroLavado, fechaInicio, fechaFin, cantUnidades, unidFinalizadas, unidEntregadas, restantes;

Mi idea es que cuando en un DataGrid en flash, presiono el btn historial, me valla a otro pantallaso y en otro DataGrid me muestre los datos de servicios depende de cual cliente seleccione anteriormente. Paso a dar un EJ:

En un dg_clientes, tengo un cliente llamado PEPE, con id = "1", cuando hago la selección y aprieto el btn_historial, que en el dg_historial, me muestre todos los lavados que hizo PEPE con el idCliente "1". Mi problema es que para que se pueda hacer eso con una Variable Global, me dijeron que lo tengo que asignar como PRIMARY KEY el idCliente, pero si le asigno como PRIMARY KEY no me deja agregar mas de un idCliente con el mismo numero.

Eso es todo. Espero que a alguien se le ocurra algo y me pueda dar una mano con este tema.

Por Shottass

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Abr 2010 05:29 am
Para que quieres varios clientes con el mismo ID?? Es ilogico, o almenos impractico, podrias crear algo asi como otro campo para el tipo de cliente, el cual si podrias repetir, al menos es lo que se me ocurre para tu idea de varios clientes con el mismo ID,
La ventaja de que el ID sea la PRIMARY KEY esque asi podras usar FOREIGN KEY, y relacionas ambas tablas con el ID y asi no tendras problemas con al hacer la llama de los DG, ya que mandas el id del cliente que seleccionaste con alguna otra variable, eso ya es cuestion de tu codigo (aun no inicio con actionscript como para decirte mas de implementacion).

Si eso no te sirve, entonces explica toda la situacion, porque asi es algo dificil.

Por D@rB

38 de clabLevel



Genero:Masculino  

GDL Mx

chrome
Citar            
MensajeEscrito el 17 Abr 2010 06:20 am

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 17 Abr 2010 07:30 am

D@rB escribió:

Para que quieres varios clientes con el mismo ID?? Es ilogico, o almenos impractico, podrias crear algo asi como otro campo para el tipo de cliente, el cual si podrias repetir, al menos es lo que se me ocurre para tu idea de varios clientes con el mismo ID,
La ventaja de que el ID sea la PRIMARY KEY esque asi podras usar FOREIGN KEY, y relacionas ambas tablas con el ID y asi no tendras problemas con al hacer la llama de los DG, ya que mandas el id del cliente que seleccionaste con alguna otra variable, eso ya es cuestion de tu codigo (aun no inicio con actionscript como para decirte mas de implementacion).

Si eso no te sirve, entonces explica toda la situacion, porque asi es algo dificil.


Estube fijandome un poco lo de FOREIGN KEY, no logro encontrar la forma de armarlo con el Aqua Data Studio. Te voy a tirar un ejemplo más para que me digas si se puede hacer bien, y asi buscar mejor.

El sistema que quiero armar se trata de una tabla clientes, que me muestra logicamente mis clientes, y otra llamada servicios, lo que hace es guardar registros de servicios se lavado de pantalones. Pero un cliente puede tener varios lavados, la idea es que cuando selecciono un cliente en el DataGrid(dg_Clientes) y presiono el btn_Historial me tire la cantidad de lavados que hice a un Historial(dg_Historial). donde ahi pueda modificar la cantidad finalizados y cantidad entregados. Ej:

Cliente: Juan id=2 -->
Tabla Servicios:
idCliente=2, nroLavado=1;
idCliente=2, nroLavado=2;
idCliente=2, nroLavado=3;

y si selecciono Cliente: Horacio id=6 -->

idCliente=6, nroLavado=4;
idCliente=6, nroLavado=5;
idCliente=6, nroLavado=6;

Fijate arriba que te puse los campos de cada tabla, asi te guias mejor. Un abrazo y gracias por la ayuda! Shottass

Por Shottass

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Abr 2010 08:44 am
Ya creo que lo solucione, le pude poner FOREIGN KEY a la tabla servicios. Cualquier cosa escribo. Muchas gracias por las respuestas gente! Saludos Shottass

Por Shottass

5 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.