我正在尝试从三个表中获取数据。
表名
表的数据结构如下
表 Spa_meta
问题:如何使用最少的SQL查询来实现这一点。我正在尝试的那显然是错误的
select *, inventory_id, max(created_at) as MaxDate, inventory.unit_no as unit
from spa_meta t
inner join (
select spa.id as id, spa.title, spa.inventory_id as inventory_id,
from spa
group by spa.id
) tm on t.spa_id = tm.id
left join inventory on tm.inventory_id = inventory.id
group by unit
order by MaxDate DESC
答案 0 :(得分:1)
SELECT spa_1.id as id, spa_1.title, spa_1.inventory_id, inventory.unit_no as unit,
spa_meta.*
FROM spa_meta
JOIN (
SELECT spa.*, (SELECT MAX(created_at) FROM spa_meta WHERE spa_meta.spa_id =
spa.id) as max_date FROM spa
) AS spa_1 ON spa_1.max_date = spa_meta.created_at AND spa_1.id = spa_meta.spa_id
LEFT JOIN inventory ON spa_1.inventory_id = inventory.id