[英]Converting 2 select statements into a single statement within MySql
我使用兩個子查詢從同一個表中獲取log_msg
和log_state
。 我想問一下如何將這 2 個子查詢轉換為單個子查詢,以便我不需要兩次調用同一個表。
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';
您可以按如下方式加入和過濾每個組的頂部日志記錄:
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.