我有2个表,使用内部连接来查询它们。MySQL Help:SELECT table2.id WHERE ... table1.date最大
SELECT COUNT(table2.id)
FROM table2
INNER JOIN table1 ON table2.relazioneid = table1.id
WHERE table1.date > ? AND table1.date < ?
它计算两个日期之间的报告条目的ID。表1保存有关报告(日期,组ID等)的信息,表2保存报告中的条目。
我想查询几乎完全一样的,除了它只在这两个日期之间选择具有最新日期的报告中的id。
任何人都可以帮忙吗?我无法理解MAX(日期)类型的查询 - 我得到的所有数据都是每个ID的计数,也是最大日期,而不仅仅是来自最大日期的那些ID。
感谢,
我一直在想也许一个嵌套的SQL查询 - 你可以做到这一点?我可以找到关于谷歌的参考,但不能让它开始工作......类似的东西:
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身份登录。
你能提供两个表的结构和哪些信息你想从两个表中检索?这将使提供有效的示例代码变得更加简单。 – 2009-04-19 17:19:12