Retroceder   Foros del Web > Programación para sitios web > Bases de Datos

Respuesta
 
Herramientas Desplegado
Antiguo 04-mar-2005, 15:52   #1 (permalink)
bond ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2005
Mensajes: 17
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
bond está desconectado   Responder Citando
Antiguo 05-mar-2005, 05:53   #2 (permalink)
Compiler ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2005
Mensajes: 4
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-mar-2005 a las 05:54.
Compiler está desconectado   Responder Citando
Antiguo 07-mar-2005, 08:48   #3 (permalink)
bond ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2005
Mensajes: 17
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...
bond está desconectado   Responder Citando
Antiguo 07-mar-2005, 09:25   #4 (permalink)
Vice está en el buen camino
 
Avatar de Vice
 
Fecha de Ingreso: agosto-2003
Mensajes: 613
¿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-mar-2005 a las 09:27.
Vice está desconectado   Responder Citando
Antiguo 07-mar-2005, 09:33   #5 (permalink)
bond ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2005
Mensajes: 17
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
bond está desconectado   Responder Citando
Antiguo 07-mar-2005, 09:35   #6 (permalink)
bond ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2005
Mensajes: 17
aunque como puedo hacer eso de que cuqando el resultado cambie meterlo en una cabezera?
pedon por mi ignorancia, pero estoy parendiendo
bond está desconectado   Responder Citando
Antiguo 07-mar-2005, 10:46   #7 (permalink)
bond ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2005
Mensajes: 17
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...
bond está desconectado   Responder Citando
Antiguo 08-mar-2005, 02:07   #8 (permalink)
Vice está en el buen camino
 
Avatar de Vice
 
Fecha de Ingreso: agosto-2003
Mensajes: 613
¿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
Vice está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 22:54.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93