2013-05-01 126 views
1
select 
    consultas.id as a, 
    consultas.clasificacion as cl, 
    consultas.paciente_id as b, 
    consultas.created,imc_kg_m2 as im 
from 
    consultas 
join 
    signos_sintomas 
    on 
     signos_sintomas.consulta_id = consultas.id 
    where paciente_id in 
    (select pacientes.id from pacientes where pacientes.id < 30 order by pacientes.id desc) 
    and 
     consultas.created in 
     (select consultas.created from consultas order by consultas.created asc ) 
    and 
     imc_kg_m2 is not null 

    ; 



+-----+----+----+---------------------+------+ 
    | a | cl | b | created    | im | 
    +-----+----+----+---------------------+------+ 
    | 198 | 1 | 1 | 2012-07-25 00:00:00 | 25.6 | 
    | 2 | 1 | 2 | 2012-05-30 00:00:00 | 25.5 | 
    | 2 | 1 | 2 | 2012-05-30 00:00:00 | 25.5 | 
    | 3 | 1 | 3 | 2012-05-30 00:00:00 | 21.1 | 
    | 3 | 1 | 3 | 2012-05-30 00:00:00 | 21.3 | 
    | 579 | 2 | 4 | 2012-10-03 00:00:00 | 22.9 | 
    | 579 | 2 | 4 | 2012-10-03 00:00:00 | 22.9 | 
    | 127 | 1 | 5 | 2012-07-16 00:00:00 | 28.7 | 
    | 127 | 1 | 5 | 2012-07-16 00:00:00 | 28.9 | 
    | 127 | 1 | 5 | 2012-07-16 00:00:00 | 28.9 | 
    | 498 | 1 | 6 | 2012-09-19 00:00:00 | 29.7 | 
    | 498 | 1 | 6 | 2012-09-19 00:00:00 | 29.7 | 
    | 200 | 1 | 7 | 2012-07-25 00:00:00 | 0 | 
    | 149 | 1 | 8 | 2012-07-18 00:00:00 | 23.6 | 
    | 149 | 1 | 8 | 2012-07-18 00:00:00 | 23.6 | 
    | 4 | 1 | 9 | 2012-06-16 00:00:00 | 0 | 
    | 4 | 1 | 9 | 2012-06-16 00:00:00 | 24.9 | 
    | 5 | 2 | 10 | 2012-06-26 00:00:00 | 24.9 | 
    | 7 | 2 | 11 | 2012-06-26 00:00:00 | 25 | 
    | 6 | 2 | 12 | 2012-06-26 00:00:00 | 24.8 | 
    | 648 | 2 | 13 | 2012-10-22 00:00:00 | 27.5 | 
    | 8 | 2 | 14 | 2012-06-26 00:00:00 | 34 | 
    | 8 | 2 | 14 | 2012-06-26 00:00:00 | 32.8 | 
    | 9 | 2 | 15 | 2012-06-26 00:00:00 | 32.8 | 
    | 9 | 2 | 15 | 2012-06-26 00:00:00 | 32.8 | 
    | 9 | 2 | 15 | 2012-06-26 00:00:00 | 32.2 | 
    | 10 | 2 | 16 | 2012-06-26 00:00:00 | 29.8 | 
    | 10 | 2 | 16 | 2012-06-26 00:00:00 | 30.4 | 
    | 11 | 2 | 17 | 2012-06-26 00:00:00 | 28.1 | 
    | 11 | 2 | 17 | 2012-06-26 00:00:00 | 28.1 | 
    | 156 | 2 | 19 | 2012-07-18 00:00:00 | 29.5 | 
    | 12 | 2 | 20 | 2012-06-26 00:00:00 | 0 | 
    | 12 | 2 | 20 | 2012-06-26 00:00:00 | 0 | 
    | 12 | 2 | 20 | 2012-06-26 00:00:00 | 0 | 
    | 13 | 1 | 21 | 2012-06-26 00:00:00 | 29 | 
    | 13 | 1 | 21 | 2012-06-26 00:00:00 | 29 | 
    | 14 | 3 | 22 | 2012-06-26 00:00:00 | 32.5 | 
    | 15 | 2 | 23 | 2012-06-26 00:00:00 | 30.4 | 
    | 16 | 2 | 24 | 2012-06-26 00:00:00 | 0 | 
    | 17 | 11 | 25 | 2012-06-26 00:00:00 | 28 | 
    | 18 | 2 | 26 | 2012-06-26 00:00:00 | 23.9 | 
    | 19 | 1 | 27 | 2012-06-27 00:00:00 | 32 | 
    | 19 | 1 | 27 | 2012-06-27 00:00:00 | 32 | 
    | 19 | 1 | 27 | 2012-06-27 00:00:00 | 34.4 | 
    | 21 | 1 | 28 | 2012-06-27 00:00:00 | 29.1 | 
    | 21 | 1 | 28 | 2012-06-27 00:00:00 | 29.1 | 
    | 23 | 1 | 29 | 2012-06-27 00:00:00 | 26.8 | 
    | 23 | 1 | 29 | 2012-06-27 00:00:00 | 26.3 | 
    +-----+----+----+---------------------+------+ 

我尝试做一个限制,但 说创建: ERROR 1235(42000):该版本的MySQL还不支持“LIMIT & IN/ALL/ANY/SOME子查询” 我需要查询创建SQL:如何查询在SQL命令在这种情况下

update pacientes 
     join 
    enfermedades ON pacientes.id = enfermedades.paciente_id 
     join 
    consultas ON consultas.paciente_id = pacientes.id 
     join 
    signos_sintomas ON signos_sintomas.consulta_id = consultas.id 
set 
    bmi = signos_sintomas.imc_kg_m2, 
    enfermedades.promedio_presion_sistolica = ((pa_de_pie_izquierda + pa_sentado_izquierda)/2), 
    enfermedades.microalbuminuria = 0, 
    enfermedades.macroalbuminuria = 0, 
    enfermedades.fibrilacion = 0, 
    enfermedades.ecv = 0, 
    enfermedades.duracion = 15, 
    enfermedades.antiht = 0, 
    enfermedades.diabetes = 1 
where 
    enfermedades.riesgo_diabetes_mellitus = 1 
     and pacientes.situacion = 0 
     and riesgo_diabetes_dano_organo_blanco = 0 
     and signos_sintomas.created in (select 
      signos_sintomas.created 
     from 
      signos_sintomas 
       join 
      consultas ON consultas.id = signos_sintomas.consulta_id 
       join 
      pacientes ON pacientes.id = consultas.paciente_id 
     where 
      pacientes.id = pacientes.id 
     order by signos_sintomas.created , consultas.created desc); 

值零i'ts自然只有一个imc_kg_m2价值,但最近由我我需要在更新enfermedades最近imc_kg_m2

+------+-----+------+------+------+------+------+------+------+------+ 
| bmi | p | d1 | d2 | d3 | ecv | m1 | m2 | f | pa | 
+------+-----+------+------+------+------+------+------+------+------+ 
| NULL | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 132 | 
| NULL | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 105 | 
| NULL | 30 | 0 | 0 | 0 | NULL | NULL | 0 | NULL | 160 | 
| NULL | 153 | 0 | 0 | 0 | NULL | NULL | 0 | NULL | 160 | 
| NULL | 175 | 0 | 0 | 0 | NULL | NULL | 0 | NULL | 160 | 
| NULL | 343 | 0 | 0 | 0 | NULL | NULL | 0 | NULL | 160 | 
| NULL | 520 | 0 | 0 | 0 | NULL | NULL | 0 | NULL | 160 | 
| NULL | 867 | 0 | 0 | 0 | NULL | NULL | 0 | NULL | 160 | 
+------+-----+------+------+------+------+------+------+------+------+ 

我开始怀疑这样的咨询不是解决我的问题,依赖关系和现在存在的关系,我不能以任何其他方式改变它会影响我的模型和视图模型。

回答

0

不知道我完全理解的目的,但是我了个去......

select 
consultas.id as a, 
consultas.clasificacion as cl, 
consultas.paciente_id as b, 
consultas.created, 
imc_kg_m2 as im 
from consultas 
join signos_sintomas on signos_sintomas.consulta_id = consultas.id 
join (select pacientes.id from pacientes where pacientes.id < 30) p on consultas.paciente_id = p.id 
where imc_kg_m2 = (select imc_kg_m2 from consultas where created = (select max(created) from consultas where imc_kg_m2 is not null)); 

要解决我别名子查询错误,并加入他们,而不是。我删除了一个,因为我无法弄清楚为什么它在那里。我还加了where来做你想要的东西。评论它是否没有做到你想要的。

相关问题