Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

duda con select...

Estas en el tema de duda con select... en el foro de Bases de Datos General en Foros del Web. hola, como vais ??.. espero que bien ... haber... tengo una tabla ... algo asi... ----------------------------------------------------- id / cliente / marcaCarro / colorCarro 1 / ...
  #1 (permalink)  
Antiguo 05/07/2005, 15:14
Avatar de MWNS  
Fecha de Ingreso: julio-2003
Mensajes: 528
Antigüedad: 20 años, 9 meses
Puntos: 2
duda con select...

hola, como vais ??.. espero que bien ...

haber... tengo una tabla ... algo asi...

-----------------------------------------------------
id / cliente / marcaCarro / colorCarro
1 / Mario / 1 / 3
2 / Carlos / 3 / 6
-----------------------------------------------------

Donde

marcaCarro:
1 = Mazda
3 = BMW

colorCarro:
3 = Negro
6 = Rojo

Cuando hago un

Código PHP:
SELECT FROM mytabla WHERE id LIKE "'.$numero.'" 
y aplico:

Código PHP:
while
{
$meDasFilaAca mysql_fetch_array($MyConsulta)
echo 
$meDasFilaAca["nombre"];
echo 
$meDasFilaAca["marcaCarro"];
echo 
$meDasFilaAca["colorCarro"];

Código PHP:
No quiero que me imprima 
{Mario 1 3}
sino
{Mario Mazda Negro
Me hice entender ¿?, espeero que si ,,,, como puedo relacionar los datos de esa manera ... si es un 8 que imprima alguna cosa ... si es un 6 otra y si es un 2 otra ... asi sucesivamente ...

gracias"!
__________________
MWNS
Mario Navas
http://marionavas.com
  #2 (permalink)  
Antiguo 06/07/2005, 00:28
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Pues para que te haga eso tienes dos opciones:
1. tener una tabla que defina que 1=Mazda, 3=BMW, ..., y cruzar con ella
laotratabla (id smallint, descmarca char(30))
Código:
select mytabla.id, mytabla.cliente, laotratabla.descmarca 
from mytabla join laotratabla on mytabla.marcacarro=laotratabla.id
esta es la solución más lógica y razonable.
Además, esto mismo lo tienes que aplicar a clientes, colores (si quieres mostrar el nombre del color en lugar del número), ...

2. Desmarcarte de la primera opción y hacer la conversión usando un "case" para cambiar la salida en función de la marca de carro. Esto te lleva a un Problema grave cuando hay un numero variable y/o grande de valores, pues cada vez que metas una marca de carro nueva, tendrás que tocar la sentencia sql para que la considere. Para mi no es opción real de implementación.

3. Hacer lo mismo que en 2 pero por programación. Mismos problemas que en 2.

Espero que esto te ayude.
Un saludo.
__________________
Estoy contagiado de Generación-I
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:18.