запрос

Тема в разделе "SQL", создана пользователем lapo4ka, 9 апр 2007.

  1. lapo4ka

    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 :)
     
  2. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Я не специалист в банковских расчетах, но по моему мнению, здесь какая-то неувязочка... Если ID_FIELD - это тип срока, а FIELD_INT - кол-во дней, то зачем вообще наличие поля ID_FIELD, если для любого количества дней тип срока одинаков? Очередной велосипед получается, или я не прав?
     
  3. lapo4ka

    lapo4ka Гость

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

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Ну я же говорил, что не специалист в банковских расчетах :)
    Ну тогда, если предположить, что data_raz - это реальный срок в днях, то что-то вроде:
    Код (Text):
    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 (это название таблицы)
    Кстати, какая СУБД?
     
  5. lapo4ka

    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
     
  6. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Для: 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]
    Может и можно, если знать что оно означает. Неужели банк так наплевательски относится к своему ПО, что не имеет даже описания таблиц БД?
     
Загрузка...

Поделиться этой страницей