【发布时间】:2010-10-20 10:08:30
【问题描述】:
我有 2 个表,使用内部联接来查询它们。
SELECT COUNT(table2.id)
FROM table2
INNER JOIN table1 ON table2.relazioneid = table1.id
WHERE table1.date > ? AND table1.date < ?
它计算 2 个日期之间报告中条目的 ID。表 1 保存报告的信息(日期、组 ID 等),表 2 保存报告的条目。
我想做一个几乎完全相同的查询,除了它只从报告中选择这两个日期之间的最新日期的 ID。
有人可以帮忙吗?我无法完全理解 MAX(date) 类型的查询 - 我得到的只是每个 id 的计数以及最大日期,而不仅仅是来自最大日期的那些 id。
谢谢,
我一直在考虑可能是嵌套 SQL 查询 - 你能做到吗?我可以在 Google 上找到参考资料,但无法使用...类似于:
SELECT COUNT(table2.id)
FROM table2
INNER JOIN table1 ON table2.relazioneid = table1.id
WHERE table1.date > ? AND table1.date < ? AND
(
SELECT MAX(date)
FROM table1
WHERE date > ? AND date < ?
)
虽然无法让它工作,当我尝试在 phpMyAdmin 中对其进行测试时,它会将我踢出一个错误,告诉我我的用户没有 SELECT 权限。奇怪,因为这是我以 root 身份登录的测试服务器。
【问题讨论】:
-
您能否提供两个表的结构以及您想从两个表中检索的确切信息?这将使提供有效的示例代码变得更加简单。