Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何获得历史记录中的最后一行_Mysql_Sql_Mariadb - Fatal编程技术网

Mysql 如何获得历史记录中的最后一行

Mysql 如何获得历史记录中的最后一行,mysql,sql,mariadb,Mysql,Sql,Mariadb,我有一个疑问: SELECT id, numero_processo, assunto, ( SELECT processo_historico.urgencia FROM processo_historico WHERE processo_historico.id_processo = processo.id ORDER BY processo_historico.id DESC LIMIT 1

我有一个疑问:

SELECT id,
    numero_processo,
    assunto,
    (
        SELECT processo_historico.urgencia
        FROM processo_historico
        WHERE processo_historico.id_processo = processo.id
        ORDER BY processo_historico.id DESC LIMIT 1
     ) as urgencia,
     (
        SELECT processo_historico.nome_resp
        FROM processo_historico
        WHERE processo_historico.id_processo = processo.id
        ORDER BY processo_historico.id DESC LIMIT 1
     ) as nome_resp,
     (
        SELECT processo_historico.user_responsavel
        FROM processo_historico
        WHERE processo_historico.id_processo = processo.id 
        ORDER BY processo_historico.id DESC LIMIT 1
     ) as user_responsavel,
     (
         SELECT processo_historico.data_chegada
        FROM processo_historico
        WHERE processo_historico.id_processo = processo.id
        ORDER BY processo_historico.id DESC LIMIT 1
     ) as data_chegada,
     (
         SELECT processo_historico.distribuicao
        FROM processo_historico
        WHERE processo_historico.id_processo = processo.id
        ORDER BY processo_historico.id DESC LIMIT 1
      ) as distribuicao,
      (
          SELECT processo_historico.despacho
        FROM processo_historico
        WHERE processo_historico.id_processo = processo.id
        ORDER BY processo_historico.id DESC LIMIT 1
      ) as despacho,
      (
          SELECT processo_historico.parecer
        FROM processo_historico
        WHERE processo_historico.id_processo = processo.id
        ORDER BY processo_historico.id DESC LIMIT 1
      ) as parecer    

     FROM processo
正如你们所看到的,太多的子查询使得每一个“processo”都有一行,其中最后插入了“processo_historico”

我该如何改进这一点?还有一个问题,我怎样才能把这个

WHERE processo_historico.user_responsavel = *userinput*
这需要得到最后一个“processo_historico”,其中“user_ResponseAvel”是一些数字


表之间的关系是:“processo”1 x N“processo_historic”

减少多个子查询以将每个列提取为一个

SELECT id,
processo.numero_processo,
processo.assunto,
ph.urgencia, 
ph.nome_resp,
ph.user_responsavel,
ph.data_chegada,
ph.distribuicao,
ph.despacho,
ph.parecer     
FROM processo
LEFT OUTER JOIN (    
    select
    processo_historico.urgencia, 
    processo_historico.nome_resp
    ,processo_historico.user_responsavel
    ,processo_historico.data_chegada
    ,processo_historico.distribuicao
    ,processo_historico.despacho
    ,processo_historico.parecer  
    FROM     
    processo_historico 
    WHERE ph.user_responsavel = *userinput*
    ORDER BY processo_historico.id DESC LIMIT 1)
AS ph ON ph.id_processo = processo.id 

你能用示例数据解释一下你想完成什么吗?@Sjoerd因此,表之间的关系是:表“processo”1 x表“processo_historic”。我想知道将“where”放在何处,以获取“processo_historic”上插入的最后一行,其中“processo_historic.user_responsavel”等于某个int值谢谢您的帮助,但此sql在所有“processo_historic”上返回空值data…@GuilhermedRazzi-子查询在自己运行时会给出什么?对“userinput”的测试需要在子查询内部。