2013-05-01 156 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來做你想要的東西。評論它是否沒有做到你想要的。

相關問題