PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Adrenalin
Отправлено: 18 Мая, 2017 - 22:10:04
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




Задача выгрести все за 500 дней включая текущую - сегодня:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM pages WHERE error_sir != '' OR error_dir != '' AND WHERE date_added < NOW() - INTERVAL 500 DAY



не работает, а надо!
date_added имеет формат datetime

Если брать запрос

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM pages WHERE error_sir != '' OR error_dir != ''



Вот так работает, а как нужно выше ни как.

Пробовал и date_added >= NOW() и по разному не делает выборку.
Не могу понять где проблема. Помогите пожалуйста!

(Отредактировано автором: 18 Мая, 2017 - 22:10:22)

 
 Top
Строитель
Отправлено: 18 Мая, 2017 - 22:36:14
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 917
Дата рег-ции: Февр. 2014  


Помог: 30 раз(а)




Если не ошибаюсь, проблема здесь : AND WHERE .
Попробуйте убрать второй WHERE, что бы строка sql-запроса приняла такой вид :
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM pages WHERE error_sir != '' OR error_dir != '' AND date_added < NOW() - INTERVAL 500 DAY
Но я не уверен, пробуйте.

(Отредактировано автором: 18 Мая, 2017 - 22:38:17)

 
 Top
Adrenalin
Отправлено: 18 Мая, 2017 - 23:47:54
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




да спасибо помогло!
 
 Top
Vladimir Kheifets
Отправлено: 19 Мая, 2017 - 13:39:39
Post Id



Гость


Покинул форум
Сообщений всего: 124
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 3 раз(а)




Вдогонку, может в хозяйстве пригодится:

SELECT * FROM pages WHERE error_sir != '' OR error_dir != '' AND
date_added BETWEEN ( CURDATE() - INTERVAL 500 DAY ) AND CURDATE()

(Отредактировано автором: 19 Мая, 2017 - 13:40:09)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB