簡體   English   中英

將 2 個 select 語句轉換為 MySql 中的單個語句

[英]Converting 2 select statements into a single statement within MySql

我使用兩個子查詢從同一個表中獲取log_msglog_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM