【发布时间】:2013-02-27 18:45:18
【问题描述】:
当我在创建所需视图时遇到问题时,我正在玩一些沙盒代码,使用魔兽拍卖 API 来测试一些 mysql 概念。 我设置了两张表,一张用于存储来自暴雪的实际数据,第二张用于在我拉取更新时跟踪“lastModified”日期戳。每个拍卖条目都标有一个“updateId”,它指向具有给定“lastModified”tstamp 的另一个表。我想做的是编写一个视图来查找 MAX(lastModified) 的所有 updateIds,然后返回与该 updateId 匹配的所有拍卖记录
我能够通过将这个查询拆分为两个视图来使其工作,但我想知道是否有某种方法可以将它压缩为一个视图。我知道的唯一语法是在'from'子句下包含select,但mysql在创建视图时似乎不喜欢这样:
最近更新视图:
SELECT
au.auctionUpdateId as auId,
au.lastModified,
au.realmId,
au.house
FROM
`AuctionUpdates` AS au
WHERE
(
au.`lastModified` = (
SELECT
MAX(lastModified)
FROM
`AuctionUpdates`
)
)
最近的拍卖视图:
SELECT
a.*,
mr.lastModified AS lastModified,
mr.realmId AS realmId,
FROM (
Auctions AS a
JOIN mostRecentUpdates AS mr
ON (a.updateId = mr.auId)
)
ORDER BY
a.updateId
如果我将第一个选择放到第二个的 JOIN 中,它不会保存为视图。我只是想知道是否有其他方法可以执行此查询,以便可以将其压缩为一个视图而不是其中的两个?
【问题讨论】:
标签: mysql select view subquery