• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

запрос

  • Автор темы lapo4ka
  • Дата начала
L

lapo4ka

Добрый день1 помогите мне пожалуйста создать запрос..у меня совсе не выходит((((
у меня есть таблица
ID_OBJECT ID_FIELD FIELD_INT
----------- -------- -----------
51 57 0
51 57 90
51 57 0
51 57 0
51 57 180
51 57 0
51 57 0
51 57 270
51 57 0
51 57 0
51 57 364
51 57 0
ID_OBJECT - тип депозита, ID_FIELD - тип срока, FIELD_INT - кол-во дней. те можно взять депозит сроком от 90 дней до 180, от 180 до 270, от 270 до 364 и соот от 364. от срока зависят стваки, кот в другой таблице. мне надо из этой таблицы узнать имеено срок, в кот вписывается депозит, так как его можно открыть, допустим, на 200 дней. срок по дням я узнала отняв от даты закрытия дату открытия....как сделать цикл, чтобы от количества дней бралось мах значение из FIELD_INT ? те если депозит открыла на 200 дней, то мне выведется 270?
пробовала SELECT max(FIELD_INT) from array
where data_raz> FIELD_INT and array.ID_OBJECT = 51 and array.ID_FIELD = 57
тут выводится просто 364 :)
 
E

European

Я не специалист в банковских расчетах, но по моему мнению, здесь какая-то неувязочка... Если ID_FIELD - это тип срока, а FIELD_INT - кол-во дней, то зачем вообще наличие поля ID_FIELD, если для любого количества дней тип срока одинаков? Очередной велосипед получается, или я не прав?
 
L

lapo4ka

ID_FIELD =57 означает, что основной срок. есть еще досрочное погашение. в зависимости оттого сколько пролежал депозит, насчитываются соотв проценты. но меня это не интересует, только основной срок)))
 
E

European

Ну я же говорил, что не специалист в банковских расчетах :)
Ну тогда, если предположить, что data_raz - это реальный срок в днях, то что-то вроде:
Код:
select case FIELD_INT 
when data_raz < 90 then 90
when data_raz >= 90 and data_raz < 180 then 180
when data_raz >= 180 and data_raz < 270 then 270
when data_raz >= 270 and data_raz < 364 then 364
else 365 (тут указать нужное значение)
from array (это название таблицы)

Кстати, какая СУБД?
 
L

lapo4ka

а если в разных депозитах по разному задается срок? те может быть такое, что можно деньги положить от 90 до 270 дней, а потом на 256 ровно
есть еще поле INDEX_ROW...я про него не написала сначала :) я так понимаю, что оно означает вроде типа срока...можно его как-то задействовать?...... :)
ID_OBJECT ID_FIELD INDEX_ROW FIELD_INT
----------- -------- --------- -----------
51 57 0 0
51 57 0 90
51 57 0 0
51 57 1 0
51 57 1 180
51 57 1 0
51 57 2 0
51 57 2 270
51 57 2 0
51 57 3 0
51 57 3 364
51 57 3 0
 
E

European

Для: lapo4ka
Разберитесь сначала в структуре своих таблиц и задавайте вопросы более корректно. Лично я не имею понятия, что вы хотели сказать фразой:
<!--QuoteBegin-lapo4ka+9:04:2007, 11:17 -->
<span class="vbquote">(lapo4ka @ 9:04:2007, 11:17 )</span><!--QuoteEBegin-->а если в разных депозитах по разному задается срок? те может быть такое, что можно деньги положить от 90 до 270 дней, а потом на 256 ровно
[snapback]61820" rel="nofollow" target="_blank[/snapback]​
[/quote]

<!--QuoteBegin-lapo4ka+9:04:2007, 11:17 -->
<span class="vbquote">(lapo4ka @ 9:04:2007, 11:17 )</span><!--QuoteEBegin-->я так понимаю, что оно означает вроде типа срока...можно его как-то задействовать?
[snapback]61820" rel="nofollow" target="_blank[/snapback]​
[/quote]
Может и можно, если знать что оно означает. Неужели банк так наплевательски относится к своему ПО, что не имеет даже описания таблиц БД?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!