C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите с запросом  (Прочитано 4771 раз)
excellion44
Участник
**

Сказали спасибо: +10/-9
Offline Offline

Сообщений: 278


« : 21 июля 2020, 09:41:09 »

что-то не как голова не сообразит.
попытаюсь объяснить максимально подробно.
ДАТЫ ИСПОЛЬЗУЮТСЯ В ФОРМАТЕ UnixTime
имеется квартира в которую люди прописываются и выписываются  в БД имеется АЙДИ-ЧЕЛОВЕКА , АЙДИ-КВАРТИРЫ , дата прописки и дата выписки
если человек прописан в квартире по настоящее время то в поле дата выписки допустим стоит 0
так же бывает что люди умирают будучи прописанными в квартире.
итак что нам нужно и что мы имеем: Мы имеем дату смерти человека  его айди и соответственно дату прописки и выписки, нам нужно получить айди всех людей которые были прописаны в квартире вместе с умершим на момент смерти.
Записан
excellion44
Участник
**

Сказали спасибо: +10/-9
Offline Offline

Сообщений: 278


« Ответ #1 : 21 июля 2020, 15:58:19 »

SELECT * FROM db WHERE айди-человек = '123' AND айди-квартиры = '321' AND дата выписки = должна быть больше или равна дате смерти или равняться 0
вот как это продолжить ?
Записан
S0mbre
Глобальный модератор
***

Сказали спасибо: +1113/-22
Offline Offline

Сообщений: 2137

S0mbre


WWW
« Ответ #2 : 16 октября 2020, 08:19:18 »

Если все в 1 таблице (включая дату смерти), то все просто

Код
SELECT * FROM db
WHERE
"айди-человек" = '123' AND "айди-квартиры" = '321' AND
("дата выписки" >= "дате смерти" OR "дата выписки" = 0);
 

Или у вас в БД другая структура, с несколькими таблицами? Тогда нужен JOIN или подзапрос SELECT.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в: