我试图找出一种方法来编写自2014-07-01以来已发送的文件数量的sql查询(以下示例应导致 4 ) 。我有两个不同的表需要查询,因为日期仅在第一个中可用。它们如下:
消息:
________________________________
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
我怀疑我需要以此为出发点,但我不知道从哪里开始。任何帮助将不胜感激!
答案 0 :(得分:2)
这样的东西?
select count(0)
from messages as m
join files as f on f.messageid=m.messageid
where m.datesent>'2014-07-01'
答案 1 :(得分:1)
使用此:
SELECT COUNT(*)
FROM messages INNER JOIN files ON messages.messageid = files.messageid
WHERE datesent >= '2014-07-01';