Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Bases de Datos General (http://www.forosdelweb.com/f21/)
-   -   como hago SQL para comparar (http://www.forosdelweb.com/f21/como-hago-sql-para-comparar-598370/)

charlescuellar 19/06/2008 21:52

como hago SQL para comparar
 
hola espero q me colaboren

lo q estoy haciendo es un buscador uniendo algunas tablas con la sentencia UNION ALL, ya esta funcionando perfectamente hago la busqda y me aparece el resultado. esta es la sql

SELECT * FROM general_pana WHERE Orden LIKE %colname% OR general_pana.`Serie` LIKE %colname2% OR general_pana.`Modelo` LIKE %colname3%
UNION ALL
SELECT * FROM general_sam
WHERE Orden LIKE %colname% OR general_sam.`Serie` LIKE %colname2% OR general_sam.`Modelo` LIKE %colname3%
UNION ALL
SELECT * FROM general_daew WHERE Orden LIKE %colname% OR general_daew.`Serie` LIKE %colname2% OR general_daew.`Modelo` LIKE %colname3%
UNION ALL
SELECT * FROM general_challe WHERE Orden LIKE %colname% OR general_challe.`Serie` LIKE %colname2% OR general_challe.`Modelo` LIKE %colname3%

lo q quiero es actualizar algunos datos del registro buscado, q valla al formulario de actualizacion pero como trabajo con varias marcas samsung, daewoo, panasonic, challenger entonces los formulario de acutalizacion tienen q ser diferentes dependiendo de la marca

como hago una sql q compare el valor de marca del resultado de la busqda, si la marca es samsung valla al formulario de samsung, si es panasonic valla al formulario de panasonic asi con la otras


espero q me colobaren estaria agradecido

seyko 20/06/2008 03:44

Respuesta: como hago SQL para comparar
 
No entiendo muy bien cual es el problema, la marca es distinta pero porque el formulario es distinto?

El diseño de la BD, no parece muy correcto, por qué tablas distintas por cada marca?

A la espera...

charlescuellar 20/06/2008 07:29

Respuesta: como hago SQL para comparar
 
hola seyko
la marca es distina porque el formulario es distinto? ps trabajo con diferentes marca cada marca tiene codigo q corresponden a la marca

por q tablas distinas por cada marca? nesecito tener un concecutivo de cada marca diferente (un contador) lo hago con autoincrement.

espero q me entiendas

solo nesecito una sql q compare si marca es igual a samsung me envie al formulario de samsung. asi en todas.

seyko 20/06/2008 10:06

Respuesta: como hago SQL para comparar
 
Bueno lo de las distintas tablas sigue siendo un mal diseño, podrias tenerlas con un autoincrement pero todo en la misma tabla.
Para lo que quieres hacer puedes utilizar un CASE, en el foro hay muchos hilos donde se habla de CASE.

Salu2

charlescuellar 20/06/2008 17:49

Respuesta: como hago SQL para comparar
 
seyko

por q yo puse distintas tablas?
los q pasa es q cada marca tiene un consecutibo diferente entonces si yo ponia una sola tabla no podria tener un consecutivo autoincrement para cada marca si no q un consecutivo general


eje para la tabal general_sam estoy con el consecutivo 4001
para tabla genera_pana trabajo con el consecutivo 2010
por eso hici tablas diferente para cada marca

si se puede de otra forma integrando toda en una sola con diferente consecutivo autoincrement por favor ayudame

seyko 23/06/2008 02:15

Respuesta: como hago SQL para comparar
 
Se puede, en mysql hay una forma pero no la recuerdo, pregunta en el foro de mysql.
Si no también se podría hacer con un trigger, si en un futuro tienes que añadir 15 marcas chinas nuevas agradeceras el buen diseño!

Salu2

charlescuellar 23/06/2008 13:43

Respuesta: como hago SQL para comparar
 
como lo podria hacer con el trigger es mejor ?

rcalle66 25/06/2008 05:50

Respuesta: como hago SQL para comparar
 
creo que el diseño de las tablas no es el correcto; que tengas consecutivo para cada marca no quiere decir que necesites una tabla por cada marca, existen soluciones a lo del consecutivo, podrías generarlo a través de una función

seyko 25/06/2008 08:35

Respuesta: como hago SQL para comparar
 
perdona charles, no vi tu ultima pregunta.

Creo mysql te permite hacerlo de otra forma, pregunta en el foro de mysql.
Si quieres hacerlo con un trigger, avisa y lo miramos.

Salu2


La zona horaria es GMT -6. Ahora son las 08:24.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.