如何在MySQL上的单个查询中重新构造这两个查询?SQL:如何选择其他表上每个记录的最近过去日期的记录
SELECT * FROM tvnetwork
//this query gives me a list of TV networks
但网络通常更改名称和徽标,所以对于每个检索到的电视网络:
SELECT name, logo FROM tvnetworkinfo
WHERE id = $tvnetwork.id
AND date_since < NOW()
ORDER BY date_since desc LIMIT 1
//this one gives me the most recent logo and name for the network
我故意留出下一个名称/标识的变化。例如。我想要“NatGeo”而不是旧的“国家地理”,但我也想要“SciFi”而不是尚未实施的“SyFy”。
我想在单个查询中检索所有内容。 ¿有没有办法做到这一点?
你确定你真的想要其他记录吗?这意味着每个网络都有两条记录。也许你想要每个网络的最旧或最新的记录? – 2010-09-20 21:34:03
我需要tvnetworkinfo的最新(但不是未来)记录,以及相应的tvnetwork记录。 – 2010-09-21 03:28:05