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

poblar una tabla a partir de otras

Estas en el tema de poblar una tabla a partir de otras en el foro de Mysql en Foros del Web. tengo estas tablas las tablas cilindro y esfera ylentes ya están pobladas con sus datos. la tabla rx debería contener una serie de combinaciones que ...
  #1 (permalink)  
Antiguo 07/12/2014, 11:15
 
Fecha de Ingreso: noviembre-2014
Mensajes: 76
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta poblar una tabla a partir de otras

tengo estas tablas



las tablas cilindro y esfera ylentes ya están pobladas con sus datos.

la tabla rx debería contener una serie de combinaciones que por ejemplo para un lentes.id_lente está solucionado con una consulta un tanto .......

es esta

Código MySQL:
Ver original
  1.         `c`.`ID_cil` AS `id_cil`,
  2.         `c`.`cilindro` AS `cilindro`,
  3.         `e`.`ID_esf` AS `id_esf`,
  4.         `e`.`esfera` AS `esfera`
  5.     from
  6.         (`cilindro` `c`
  7.         join `esfera` `e`)
  8.     where
  9.         ((`c`.`cilindro` between -(2.00) and 0.00)
  10.             and (`e`.`esfera` between -(4.00) and 2.00))
  11.     union (select
  12.         `c`.`ID_cil` AS `id_cil`,
  13.         `c`.`cilindro` AS `cilindro`,
  14.         `e`.`ID_esf` AS `id_esf`,
  15.         `e`.`esfera` AS `esfera`
  16.     from
  17.         (`cilindro` `c`
  18.         join `esfera` `e`)
  19.     where
  20.         ((`c`.`cilindro` = 0)
  21.             and (`e`.`esfera` between 2.25 and 4.00))) union (select
  22.         `c`.`ID_cil` AS `id_cil`,
  23.         `c`.`cilindro` AS `cilindro`,
  24.         `e`.`ID_esf` AS `id_esf`,
  25.         `e`.`esfera` AS `esfera`
  26.     from
  27.         (`cilindro` `c`
  28.         join `esfera` `e`)
  29.     where
  30.         ((`c`.`cilindro` = -(0.25))
  31.             and (`e`.`esfera` between 2.25 and 3.75))) union (select
  32.         `c`.`ID_cil` AS `id_cil`,
  33.         `c`.`cilindro` AS `cilindro`,
  34.         `e`.`ID_esf` AS `id_esf`,
  35.         `e`.`esfera` AS `esfera`
  36.     from
  37.         (`cilindro` `c`
  38.         join `esfera` `e`)
  39.     where
  40.         ((`c`.`cilindro` = -(0.50))
  41.             and (`e`.`esfera` between 2.25 and 3.50))
  42.     order by `e`.`esfera` , `c`.`cilindro`) union (select
  43.         `c`.`ID_cil` AS `id_cil`,
  44.         `c`.`cilindro` AS `cilindro`,
  45.         `e`.`ID_esf` AS `id_esf`,
  46.         `e`.`esfera` AS `esfera`
  47.     from
  48.         (`cilindro` `c`
  49.         join `esfera` `e`)
  50.     where
  51.         ((`c`.`cilindro` = -(0.75))
  52.             and (`e`.`esfera` between 2.25 and 3.25))) union (select
  53.         `c`.`ID_cil` AS `id_cil`,
  54.         `c`.`cilindro` AS `cilindro`,
  55.         `e`.`ID_esf` AS `id_esf`,
  56.         `e`.`esfera` AS `esfera`
  57.     from
  58.         (`cilindro` `c`
  59.         join `esfera` `e`)
  60.     where
  61.         ((`c`.`cilindro` = -(1.00))
  62.             and (`e`.`esfera` between 2.25 and 3.00))) union (select
  63.         `c`.`ID_cil` AS `id_cil`,
  64.         `c`.`cilindro` AS `cilindro`,
  65.         `e`.`ID_esf` AS `id_esf`,
  66.         `e`.`esfera` AS `esfera`
  67.     from
  68.         (`cilindro` `c`
  69.         join `esfera` `e`)
  70.     where
  71.         ((`c`.`cilindro` = -(1.25))
  72.             and (`e`.`esfera` between 2.25 and 2.75))) union (select
  73.         `c`.`ID_cil` AS `id_cil`,
  74.         `c`.`cilindro` AS `cilindro`,
  75.         `e`.`ID_esf` AS `id_esf`,
  76.         `e`.`esfera` AS `esfera`
  77.     from
  78.         (`cilindro` `c`
  79.         join `esfera` `e`)
  80.     where
  81.         ((`c`.`cilindro` = -(1.50))
  82.             and (`e`.`esfera` between 2.25 and 2.50))) union (select
  83.         `c`.`ID_cil` AS `id_cil`,
  84.         `c`.`cilindro` AS `cilindro`,
  85.         `e`.`ID_esf` AS `id_esf`,
  86.         `e`.`esfera` AS `esfera`
  87.     from
  88.         (`cilindro` `c`
  89.         join `esfera` `e`)
  90.     where
  91.         ((`c`.`cilindro` = -(1.75))
  92.             and (`e`.`esfera` between 2.25 and 2.25))) union (select
  93.         `c`.`ID_cil` AS `id_cil`,
  94.         `c`.`cilindro` AS `cilindro`,
  95.         `e`.`ID_esf` AS `id_esf`,
  96.         `e`.`esfera` AS `esfera`
  97.     from
  98.         (`cilindro` `c`
  99.         join `esfera` `e`)
  100.     where
  101.         ((`c`.`cilindro` = 0.00)
  102.             and (`e`.`esfera` between -(6.00) and -(4.00)))) union (select
  103.         `c`.`ID_cil` AS `id_cil`,
  104.         `c`.`cilindro` AS `cilindro`,
  105.         `e`.`ID_esf` AS `id_esf`,
  106.         `e`.`esfera` AS `esfera`
  107.     from
  108.         (`cilindro` `c`
  109.         join `esfera` `e`)
  110.     where
  111.         ((`c`.`cilindro` = -(0.25))
  112.             and (`e`.`esfera` between -(5.75) and -(4.00)))) union (select
  113.         `c`.`ID_cil` AS `id_cil`,
  114.         `c`.`cilindro` AS `cilindro`,
  115.         `e`.`ID_esf` AS `id_esf`,
  116.         `e`.`esfera` AS `esfera`
  117.     from
  118.         (`cilindro` `c`
  119.         join `esfera` `e`)
  120.     where
  121.         ((`c`.`cilindro` = -(0.50))
  122.             and (`e`.`esfera` between -(5.50) and -(4.00)))) union (select
  123.         `c`.`ID_cil` AS `id_cil`,
  124.         `c`.`cilindro` AS `cilindro`,
  125.         `e`.`ID_esf` AS `id_esf`,
  126.         `e`.`esfera` AS `esfera`
  127.     from
  128.         (`cilindro` `c`
  129.         join `esfera` `e`)
  130.     where
  131.         ((`c`.`cilindro` = -(0.75))
  132.             and (`e`.`esfera` between -(5.25) and -(4.00)))) union (select
  133.         `c`.`ID_cil` AS `id_cil`,
  134.         `c`.`cilindro` AS `cilindro`,
  135.         `e`.`ID_esf` AS `id_esf`,
  136.         `e`.`esfera` AS `esfera`
  137.     from
  138.         (`cilindro` `c`
  139.         join `esfera` `e`)
  140.     where
  141.         ((`c`.`cilindro` = -(1.00))
  142.             and (`e`.`esfera` between -(5.00) and -(4.00)))) union (select
  143.         `c`.`ID_cil` AS `id_cil`,
  144.         `c`.`cilindro` AS `cilindro`,
  145.         `e`.`ID_esf` AS `id_esf`,
  146.         `e`.`esfera` AS `esfera`
  147.     from
  148.         (`cilindro` `c`
  149.         join `esfera` `e`)
  150.     where
  151.         ((`c`.`cilindro` = -(1.25))
  152.             and (`e`.`esfera` between -(4.75) and -(4.00)))) union (select
  153.         `c`.`ID_cil` AS `id_cil`,
  154.         `c`.`cilindro` AS `cilindro`,
  155.         `e`.`ID_esf` AS `id_esf`,
  156.         `e`.`esfera` AS `esfera`
  157.     from
  158.         (`cilindro` `c`
  159.         join `esfera` `e`)
  160.     where
  161.         ((`c`.`cilindro` = -(1.50))
  162.             and (`e`.`esfera` between -(4.50) and -(4.00)))) union (select
  163.         `c`.`ID_cil` AS `id_cil`,
  164.         `c`.`cilindro` AS `cilindro`,
  165.         `e`.`ID_esf` AS `id_esf`,
  166.         `e`.`esfera` AS `esfera`
  167.     from
  168.         (`cilindro` `c`
  169.         join `esfera` `e`)
  170.     where
  171.         ((`c`.`cilindro` = -(1.75))
  172.             and (`e`.`esfera` between -(4.25) and -(4.00))))


el caso es que funciona y me da el resultado requerido.

ahora la pregunta es si de la salida de esta consultapuedo poblar la tabla rx automaticamente??



gracias de antemano.

Última edición por gralf; 07/12/2014 a las 11:32

Etiquetas: join, select, tabla
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 02:14.