2014-08-29 59 views
0

我想弄明白一种方法来编写自2014-07-01以来发送的文件数的SQL查询(以下示例应导致 )。我需要查询两个不同的表格,因为日期只在第一个表格中可用。它们分别是:将SQL语句的结果保存到其他地方

消息:

________________________________ 
messageid | Message | datesent | 
1   xxxx  2014-06-30 
2   xxxx  2014-07-01 
3   xxxx  2014-07-03 

文件:

________________________________ 
filename  | messageid 
red.txt    1 
blue.txt   1 
green.txt   1 
fish.pdf   2 
google.doc   3 
bing.doc   3 
duckduckgo.doc  3 

所以我有一个一对多的关系看作为一个消息可以有一个以上的文件连接到它。

到目前为止,我已经使用以下内容获取自2014-07-01以来第一条消息的messageid
SELECT (messageid) FROM messages WHERE (datesent) = '2014-07-01' LIMIT 1
我怀疑我需要以此为出发点,但我不知道该从哪里出发。任何帮助将不胜感激!

回答

2

是这样的吗?

select count(0) 
from messages as m 
join files as f on f.messageid=m.messageid 
where m.datesent>'2014-07-01' 
1

使用此:

SELECT COUNT(*) 
FROM messages INNER JOIN files ON messages.messageid = files.messageid 
WHERE datesent >= '2014-07-01';