我有一个SQL查询,其子查询具有连接 . 我想在没有子查询的情况下重写查询,以便我可以创建一个视图 . MySQL不允许SELECT语句,其中FROM是子查询 .
这可能吗?我已经尝试删除外部选择并在子查询中移动组 . 这部分有效,但有些数据不正确 .
select *
from (SELECT r.id, r.dateAdded, r.listingId, r.rating, r.username, r.valid, tbl_data.nameShort, tbl_data.desk, d.model, d.hardware, d.serial, l.appVersion, r.photoUrl, r.comment
FROM tbl_ratings r
JOIN tbl_data on r.listingId = vi_data.id
JOIN tbl_devices d on r.serial = d.serial
JOIN tbl_log l on l.serial = d.serial
ORDER BY d.serial, l.dateAdded DESC) x
group by id
order by dateAdded DESC
提前致谢!
2 回答
它是如此简单:
此外,您有一个“
vi_data
”的引用,它不是查询中的任何其他位置将
group by
子句更改为group by r.id
. 因为你告诉那个派生表中只有一个"id"字段 - 它只能看到子查询中指定的列 Headers ,即r.id
.