我想我在這里做了一些愚蠢的事情,但我就是看不到。
我有 2 個表正在嘗試加入查詢。一個包含事件,另一個包含用于顯示事件何時更新的審計資料。我希望能夠選擇事件表中的資料,以及最新審計條目的時間戳;所以我可以顯示“最后更新”列。
見下表:
煽動:
| 事件 ID | 事件參考 | ... |
|---|---|---|
| 55 | i-abc123 | ... |
事件審計:
| 審計ID | 事件參考 | *** | 時間戳 |
|---|---|---|---|
| 1 | i-abc123 | *** | 2022-01-20 11:30:00 |
| 2 | i-abc123 | *** | 2022-01-20 12:00:00 |
這是我創建的查詢。我嘗試使用限制為 1 的子查詢加入事件審計表。但這似乎不起作用。回傳的結果對于每個審計條目都有一行...
詢問:
SELECT e.*,a.* FROM `incedententry` as `e` INNER JOIN `incidenttypes` ON `e`.`IncidentType` = `incidenttypes`.`IncidentTypeID` LEFT JOIN `incidentaudit` AS `a` ON `e`.`IncidentRef` = ( SELECT `IncidentRef` FROM `incidentaudit` AS `a2` WHERE `a2`.`IncidentRef` = `e`.`IncidentRef` ORDER BY `a`.`TimeStamp` DESC LIMIT 1)
結果
| 事件 ID | 事件參考 | ... | 審計ID | 事件參考 | *** | 時間戳 |
|---|---|---|---|---|---|---|
| 55 | i-abc123 | ... | 1 | i-abc123 | *** | 2022-01-20 11:30:00 |
| 55 | i-abc123 | ... | 2 | i-abc123 | *** | 2022-01-20 12:00:00 |
期望的結果是:
| 事件 ID | 事件參考 | ... | 審計ID | 事件參考 | *** | 時間戳 |
|---|---|---|---|---|---|---|
| 55 | i-abc123 | ... | 2 | i-abc123 | *** | 2022-01-20 12:00:00 |
提前感謝您的任何幫助!
uj5u.com熱心網友回復:
SELECT e.*, a.*
FROM incedententry as e
INNER JOIN incidenttypes
ON e.IncidentType = incidenttypes.IncidentTypeID
LEFT JOIN (
SELECT MAX(Timestamp) AS Timestamp, IncidentRef
FROM incidentaudit
GROUP BY IncidentRef -- you were missing this
) AS a
ON e.IncidentRef = a.IncidentRef;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/417210.html
標籤:
下一篇:如何通過查詢查詢組中總數的百分比
