объединить две таблицы, прежде чем сделать мой запрос? - PullRequest
0 голосов
/ 18 ноября 2011

Я ищу способ сделать запрос с 2 таблицами:

posts:
+----+-------------------- +
| ID | post_date           |
+----+---------------------+
| 1  | 2011-11-15 08:42:50 |
+----+---------------------+

meta:
+--------------------+------------+
| post_id | meta_key | meta_value |
+---------+----------+------------+
|    1    |    ip    |192.168.1.10| 
+---------+----------+------------+

Итак, мне нужно сделать запрос, который ищет данный IP и идентификатор возврата, но дата публикации должна быть не менее 10 минут.

Вот плохой пример:

SELECT ID 
FROM posts
WHERE ip = '192.168.0.1'
   AND post_date = '2011-11-15 08:32:50'

Ответы [ 3 ]

4 голосов
/ 18 ноября 2011
SELECT p.ID FROM posts p, meta m 
  WHERE m.post_id=p.ID 
    AND m.meta_value='192.168.0.1' 
    AND p.post_date < (NOW() - INTERVAL 10 MINUTE);
4 голосов
/ 18 ноября 2011
SELECT p.ID
    FROM posts p
        INNER JOIN meta m
            ON p.ID = m.post_id
    WHERE m.meta_key = 'ip'
        AND m.meta_value = '192.168.0.1'
        AND p.post_date < DATE_SUB(NOW(), INTERVAL 10 MINUTE)
0 голосов
/ 18 ноября 2011
SELECT p.ID from posts p
INNER JOIN meta m ON (p.ID=m.post_id)

WHERE
m.ip = '192.168.0.1'
   AND
TIMESTAMPDIFF(MINUTE,p.post_date,now()) > 10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...