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

crear diferentes tablas, partiendo de una

Estas en el tema de crear diferentes tablas, partiendo de una en el foro de Bases de Datos General en Foros del Web. hola a todos hace algun timepo k no escribia, y s bueno aki estoy, mi pregunta es como puedo hacer para crear varias tablas a ...
  #1 (permalink)  
Antiguo 04/03/2005, 16:52
 
Fecha de Ingreso: febrero-2005
Mensajes: 17
Antigüedad: 19 años, 10 meses
Puntos: 0
crear diferentes tablas, partiendo de una

hola a todos hace algun timepo k no escribia, y s bueno aki estoy, mi pregunta es como puedo hacer para crear varias tablas a partir de una consulta, para explicarme mejor (espero), le ponder un diagrama

realizo una consulta y me genera la siguiente tabla:

-------------------------
id | alarma | descripcion |
1 | 0205 | fallo en monitor |
1 | 0206 | fallo en teclado |
3 | 0205 | fallo en monitor |
6 | 0205 | fallo en monitor |
6 | 0204 | fallo en fuente de poder |
----------------------------------

despues realizar con otro query o almacenar en algun arreglo los datos y generar lo siguiente:

-------------------------
id | alarma | descripcion |
1 | 0205 | fallo en monitor |
1 | 0206 | fallo en teclado |
--------------------------

------------------------
id | alarma | descripcion |
3 | 0205 | fallo en monitor |
---------------------------

------------------------
id | alarma | descripcion |
6 | 0205 | fallo en monitor |
6 | 0204 | fallo en fuente de poder |
-----------------------------------

espero y me puedan ayudar con mi problema, de ser asi les estare enormemente agradecido, de antemano gracias
  #2 (permalink)  
Antiguo 05/03/2005, 06:53
 
Fecha de Ingreso: marzo-2005
Mensajes: 4
Antigüedad: 19 años, 10 meses
Puntos: 0
create table1 as select * from (select loquesea from otratabla) where id=1;

y asi con todas las tablas que quieras crear de esa subconsulta, prueba esta solucion, espero que te sirva ya m contaras

Última edición por Compiler; 05/03/2005 a las 06:54
  #3 (permalink)  
Antiguo 07/03/2005, 09:48
 
Fecha de Ingreso: febrero-2005
Mensajes: 17
Antigüedad: 19 años, 10 meses
Puntos: 0
rayos no me fuhciono, pero gracias, y puede ser por que tal vez no me explique bien, buneo si me explique, pero lo que pasa es que la primer tabla que genero tiene mas o menos unos 500 registros y de esos tengo que generar uas 100 tablas, tal vez necesite usar algo de php, si es asi por favor orientenme

gracias...
  #4 (permalink)  
Antiguo 07/03/2005, 10:25
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 5 meses
Puntos: 2
¿y tiene sentido crear una tabla cuando lo que pides lo puedes hacer directamente por medio de una consulta y programación?
La consulta:
Código:
select * from tabla where .. order by id, alarma
el programa no tiene que más que recorrer el resultado ordenado y cada vez que cambie el id, meter los datos de cabecera que desees (o cualquier otra cosa).
Un saludo.
__________________
Estoy contagiado de Generación-I

Última edición por Vice; 07/03/2005 a las 10:27
  #5 (permalink)  
Antiguo 07/03/2005, 10:33
 
Fecha de Ingreso: febrero-2005
Mensajes: 17
Antigüedad: 19 años, 10 meses
Puntos: 0
pues la vdd no le veo sentido tampoco, pero mi jefe me lo pidio, yo lo que tengo es algo similar, que me genera diferentes tablas, solo que me genra una tabla con el id indicado, pero lo que mi jefe quiere es que genere una tabla por cada id que exista y eso es lo que no he podido encontrar como hacer, no se si me eh explicado
  #6 (permalink)  
Antiguo 07/03/2005, 10:35
 
Fecha de Ingreso: febrero-2005
Mensajes: 17
Antigüedad: 19 años, 10 meses
Puntos: 0
aunque como puedo hacer eso de que cuqando el resultado cambie meterlo en una cabezera?
pedon por mi ignorancia, pero estoy parendiendo
  #7 (permalink)  
Antiguo 07/03/2005, 11:46
 
Fecha de Ingreso: febrero-2005
Mensajes: 17
Antigüedad: 19 años, 10 meses
Puntos: 0
creo que la forma en que me explique es algo confusa, o al menos eso creo, le pongo un poco mas de informacion, lo que tengo es esto:

tengo una tabla en mysql, con al rededor de unos 239,591 registros mas o menos como la siguiente:
-------------------------
id | alarma | descripcion |
1 | 0205 | fallo en monitor |
1 | 0206 | fallo en teclado |
--------------------------

ahora usando mysql o php si es necesario necesito generar lo siguiente o algo parecido a lo siguiente:

------------------------
id | alarma | descripcion |
3 | 0205 | fallo en monitor |
---------------------------

------------------------
id | alarma | descripcion |
6 | 0205 | fallo en monitor |
6 | 0204 | fallo en fuente de poder |
-----------------------------------

aun no puedo hacerlo, espero que me puedan ayudar, de antemano gracias

James Bond Will Be Back...
  #8 (permalink)  
Antiguo 08/03/2005, 03:07
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 5 meses
Puntos: 2
¿Cuando tu jefe te dice que se lo pongas en una tabla se refiere a una tabla mysql o a una tabla html?. Esto último es más lógico, porque al fin y al cabo es como quieres presentar los datos. Lo primero no tiene sentido ninguno.
En cuanto ha hacerlo por programación, ya he puesto en algún otro mensaje un ejemplo en php para hacerlo pero te lo repito aquí:
Código PHP:
$SQL="select id, alarma, descripcion from tabla";
$resultado=mysql_query($SQL);
// primera cabecera
echo "<table><tr><th>id</th><th>alarma</th><th>descripcion</th></tr><tr>";
$ultimoid=""// en esta variable se guardará el último id mostrado
while ( $fila=mysql_fetch_array($resultado) )
{
   
id ($fila["id"] != $id ) { // cambia el id, ponemos nueva cabecera (o lo que interese)
      
echo "</tr><tr><th>id</th><th>alarma</th>";
      echo 
"<th>descripcion</th></tr><tr>";
      
$id $fila["id"]; // guardamos el último id tratado
   
}
   echo 
"<td>".$fila["id"]."</td>";
   echo 
"<td>".$fila["alarma"]."</td>";
   echo 
"<td>".$fila["descripcion"]."</td>";
}
echo 
"</tr></table>"
Este es el algoritmo básico, ahora tú tendrás que adaptarlo a tus necesidades. Si lo que quieres es una tabla por cada id, pues cambias para que en lugar de sólo cerrar fila, poner cabeceras y abrir fila, pues cierre y abra una nueva tabla.
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 00:35.