Mysql вопрос - PullRequest
       15

Mysql вопрос

1 голос
/ 24 декабря 2010

У меня есть 2 таблицы:

Заказчик: customerid - int, pri-key, auto fname - varchar sname -варчар хоусенум - улица Варчар -варчар

Предметы: itemid - int, pri-key, auto type - varchar collectiondate - дата дата выпуска - дата хранения - int

EDIT Мне нужен запрос, по которому я получу все товары, которые будут выпущены через 3 дня, включая сегодня

т.е. запрос должен возвращать customerid, fname, sname, street, housenum, type, releaseate для всех предметов, которые выпустили сегодняшний или 3 дня в будущем. Например, если сегодняшняя дата была 2010-12-24, и Элемент имеет дату выпуска 2010-12-25, после чего он будет возвращен по запросу.

Идея состоит в том, что если предмет должен быть выпущен (сегодня или на 3 дня раньше сегодняшнего дня), он покажет это. заранее спасибо

Ответы [ 2 ]

1 голос
/ 24 декабря 2010
SELECT  c.customerid, c.fname, c.sname, c.street, c.housenum, i.type, i.releasedate
FROM    items i
JOIN    customers c
ON      c.customerid = i.customerid
WHERE   i.releasedate >= CURDATE()
        AND i.releasedate < CURDATE() + INTERVAL `4` DAY

Обратите внимание на использование двух сравнений (строго и свободно) вместо BETWEEN и 4 дней вместо 3.

Это означает, что если вы выполните этот запрос на Jan 1st, он вернет вам элементы с датой выпуска, большей или равной Jan 1st, но строго меньшей, чем Jan 5th.

Это означает, что любая запись с частью даты 1, 2, 3, 4 из January сделает это по вашему запросу.

1 голос
/ 24 декабря 2010
SELECT c.customerid, c.fname, c.sname, c.street, c.housenum, i.type, i.releasedate 
FROM Items i JOIN Customer c ON i.customerid  = c.customerid 
WHERE i.releasedate BETWEEN NOW() - INTERVAL 3 DAY AND NOW()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...