La conversión de 2 sentencias de selección en una sola instrucción dentro de MySQL

meallhour:

Estoy utilizando dos sub-consultas a buscar log_msgy log_statede la misma tabla. Quiero preguntar cómo puedo convertir estos 2 subconsultas en una sola consulta sub modo que no necesito hacer una llamada a la misma mesa dos veces.

SELECT t1.objectId, t1.name, 
(SELECT a.logs FROM logTable a WHERE a.logId = t1.logId ORDER BY id DESC LIMIT 1) AS log_msg,
(SELECT a.state FROM logTable a WHERE a.logId = t1.logId ORDER BY id DESC LIMIT 1) AS log_state,
FROM table1 t1 WHERE t1.CreateDate >= '2019-12-01';
GMB:

Puede combinar y filtro en la entrada de registro superior por grupo de la siguiente manera:

select t1.objectId, t1.name, l.logs, l.state
from table1 t1
inner join logTable l
    on l.id = (select max(l1.id) from logTable l1 where l1.logId = t1.id)

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=347701&siteId=1
Recomendado
Clasificación