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

delimitar columna en una consulta

Estas en el tema de delimitar columna en una consulta en el foro de Mysql en Foros del Web. buenas dias. tengo un problemia y no he encontrado nada parecido, me explico: tengo una tabla de esta forma. id_fecha int(20) fecha date tarifa_1 float(8.2) ...
  #1 (permalink)  
Antiguo 18/04/2011, 05:41
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Pregunta delimitar columna en una consulta

buenas dias.
tengo un problemia y no he encontrado nada parecido, me explico:
tengo una tabla de esta forma.
id_fecha int(20)
fecha date
tarifa_1 float(8.2)
tarifa_2 float(8.2)
tarifa_3 float(8.2)
tarifa_4 float(8.2)

imaginamos que tengo registrado estos datos:
id_fecha fecha tarifa_1 tarifa_2 tarifa_3 tarifa_4
1 01-01-2011 20.00 20.00 30.00 40.00
2 02-01-2011 0.00 20.00 30.00 40.00
3 03-01-2011 20.00 20.00 30.00 40.00

el problema es cuando quiero hacer la consulta no quiero que la columna tarifa_1 me sale en el resultado ya que tiene un valor de 0 esto cuando hemos seleccionado una fecha entre 01-01-2011 y 03-01-2011, gracias por la atencion
__________________
cada vez que aprendes algo te crees que no sabes nada
  #2 (permalink)  
Antiguo 18/04/2011, 06:08
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: delimitar columna en una consulta

El SQL no funciona así; cuando indicas el conjunto de columnas, todas deben aparecer, lo que se descartan son las líneas o registros.
Algunos DBMS pueden tener SELECTs condicionales, pero en MySQL no puedes suprimir una columna indicada en el SELECT por un valor dado de un registro. El único modo en que puedes manejarlo es por programación, y ese no es tema de este foro, sino del lenguaje que uses en la aplicación.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 18/04/2011, 06:22
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: delimitar columna en una consulta

yo uitizo php he podido con todo hasta ahora (claro dentro de mis problemas) el unico que no podia hacer es esto
te explico mejor:
en un rejistro de hotel cada hotel crea las tablas anio_idhotel_anioactual es la misma tabla que la tengo mencionada arriba, tabla de active o dispo, y despues otras a si el primero selecciono cada tipo da tarifa del hotel uno puede tener hasta 12 tarifas diferentes y otro hotel solo 4 tarifas, asi que lo hago atraves de SHOW COLUMNS despues una consulta de tarifas mediente el resultado de columns, asi que pensaba alomejor hay alguna manera de volver en show columns pediendo a la consulta de no selecionar las tarifas de hotel que resultaron tener un valor de cero en la otra consulta. :(( no se se he explicado bien. gracias de nuevo gnzsoloyo
__________________
cada vez que aprendes algo te crees que no sabes nada
  #4 (permalink)  
Antiguo 18/04/2011, 06:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: delimitar columna en una consulta

Me parece que voy entendiendo tu problema, pero tal parece que lo que tienes es un error de diseño general de la base...
La estructura y procesos que describes habla de que creas dinámicamente tablas en base a relaciones también dinámicamente. Eso es un error conceptual respecto al modelo E-R. tarde o temprano perderás control sobre la estructura de la base y no podrás solucionarla.
A mi entender deberías parar y replantear el modelo de tu estructura de datos desde el principio y hacer un modelado que te permita la existencia de múltiples hoteles y recursos de los mismos, sin necesidad de crear tablas que no existan en la definición original. Al menos, esa es la forma en que se trabaja en el diseño de bases de datos...

¿Quieres que veamos la idea o prefieres seguir con el concepto que usas, a pesar de los riesgos?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 18/04/2011, 06:52
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: delimitar columna en una consulta

gnzsoloyo gracias de nuevo, yo tanmbien estoy diacuerdo con tigo, es que al empesar diseñar la base he hecho muchos cambios en cada problema hasta que personalmente pense que la mejor manera es crear tabla de tarifas para cada hotel, ya que en momento de sumar las tarifas sera facil pero ahora vuelvo a tener el mismo problema. le agradeceria se me pudieras hechar una mano, estoy depuesto a cambiar el codigo y diseño de bases. :((
__________________
cada vez que aprendes algo te crees que no sabes nada
  #6 (permalink)  
Antiguo 18/04/2011, 08:18
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: delimitar columna en una consulta

Sería bueno tener una idea del diseño que estás trabajando.
¿Tienes la base diagramada con alguna aplicación (léase Visio, Enterprise Architect, MySQL Workbench, Navicat, ERWin, DBDesigner, etc)?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 18/04/2011, 08:43
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: delimitar columna en una consulta

mi idea es crear un sistema de reservas online igual que muchos hay, pero con opciones y ides nuevas. asi que el (hotel, agencia de viajes, apartamento hostal...) se registra y crea su hotel dentro del sistema, cada hotel o ..., mediente un intranet puede modificar eliminar insertar precio con discrepcio..., esta es la idea ahora el lado de base de datos,
hablamos solo del hoteles ahora: pues hay tablas donde se tregistra como informacion basica del hotel a nombre ej:
1/ info_hotel que contiene id_hotel, nombre, cadena, direccion, postal...
2/ descrepcion_h id_hotel ...
3/ tipo_hab id_hab ectc...
y otras tablas con son creada por cada hotel
ej:
tablas de las tarifas
a nombre de :
anio_idhotel_anio_actual ... aqui se inserta el precio por cada dia para cada habitacion registrada en caso contrario han de disactivar un inbox que el cual hay otra tabla que tiene el mismo diseño que la de anio se llama activar es cuando un hotel quiere dar de ocupadas las habitaciones mencionadas (siempre hablo del tipo de habitacion dolde, individual, triple...)
asi que cada hotel tiene 3 tablas pesonalizadas y la tercera tabla es de regimen hay 4 tipos al ah mp pc ti.
bueno he resumido un poco la idea y espero que me consejas se ves el error en el diseño.
__________________
cada vez que aprendes algo te crees que no sabes nada
  #8 (permalink)  
Antiguo 18/04/2011, 09:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: delimitar columna en una consulta

¿Diagrama de tablas no tienes? ¿Nada?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 18/04/2011, 09:53
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: delimitar columna en una consulta

no no tengo hecha,
__________________
cada vez que aprendes algo te crees que no sabes nada

Etiquetas: columna
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 09:48.