Модераторы: skyboy

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [MySQL]Сделать запрос к базе данных для выбора, не просроченных записей... 
V
    Опции темы
Magnifico
Дата 22.5.2008, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 4
Всего: 17



Цитата

таблица часом не временная?


Ага!


--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
DeamonShan
Дата 22.5.2008, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: нет
Всего: 6



Код

select * from tbl
where status <>3  or  (status=1 data > '".(time() - 2week)'.")
or  status in
(
select status from Tbl
where   status <> 1  
)


такой запрос правильный??? ато я не делал никогда подзапросы(



Это сообщение отредактировал(а) DeamonShan - 22.5.2008, 13:25
PM MAIL   Вверх
Magnifico
Дата 22.5.2008, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 4
Всего: 17



Код

select * from tbl
where ((status <>3    or  status = 1)  and  (data  > DATE_SUB(now(), INTERVAL 14 day)  and  data  <  now()) )  or
status not  in (
select status from Tbl
where status  in(1,3)
)



--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
DeamonShan
Дата 22.5.2008, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: нет
Всего: 6



[QUOTE=skyboy,22.5.2008,  13:16]
Цитата(Magnifico @  22.5.2008,  11:26 Найти цитируемый пост)
говорит не могу 
Код

select * from tbl
where status <>3   and  (data < DATE_SUB(now(), INTERVAL 14 day)  or status <> 1)



я это уже проверил, результат почему-то пустой...
PM MAIL   Вверх
Magnifico
Дата 22.5.2008, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 4
Всего: 17



запрос  skyboy верный 
замени data < DATE_SUB  на data > DATE_SUB

Код

select * from tbl
where status <>3   and  (data > DATE_SUB(now(), INTERVAL 14 day)  or status <> 1)


Это сообщение отредактировал(а) Magnifico - 22.5.2008, 14:06


--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
DeamonShan
Дата 22.5.2008, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: нет
Всего: 6



Цитата(Magnifico @ 22.5.2008,  13:37)
Код

select * from tbl
where ((status <>3    or  status = 1)  and  (data  > DATE_SUB(now(), INTERVAL 14 day)  and  data  <  now()) )  or
status not  in (
select status from Tbl
where status  in(1,3)
)

этот запрос тоже выдал пустой результат(((
PM MAIL   Вверх
Magnifico
Дата 22.5.2008, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 23.1.2008
Где: Московская област ь

Репутация: 4
Всего: 17



даже ткой запос не должен быть пустым он выдет все что было 2 недели назад 
(значит у тебя там другие проблемы)

Добавлено через 4 минуты и 5 секунд
наверно несовпадение типов дат , я оба запроса на такой таблице тестировал: 
data (timestamp )   заполнял вручную в разнобой
Код

create table Tbl
(
id int,
name varchar(25),
data timestamp,
 status int
)
insert into Tbl(id,name ,status)
select 1, ' Ivan' ,1 union all
select 2, ' Serg' , 2 union all
select 3, ' aaa' ,3 union all
select 4, ' bbb' , 4 union all
select 5, ' ddd' ,1 union all
select 6, ' eeee' , 2 union all
select 7, ' ccc' ,3 union all
select 8, ' gggg' , 4 union all
select 9, ' hhhh' ,1 union all
select 10, ' jjjj' , 3



--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
DeamonShan
Дата 22.5.2008, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: нет
Всего: 6



Код

  $sql="select * from `ac_schet`
  where status <>9 and ( data  >  ".(time()-$Prosrochka*24*60*60).") or status <> 0)
   order by data desc
   ";


вот запрос skyboy но выдает пустой результат
PM MAIL   Вверх
DeamonShan
Дата 22.5.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 26.11.2005

Репутация: нет
Всего: 6



походу нужно решить по другому... надо ввести еще один статус: просроченные, и при входе на страницу менять статус на просроченный если дата двухнедельная...

Добавлено через 10 минут и 28 секунд
решил вот таким образом... но мне не нравится... зато работает)))
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0714 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.