Как использовать функцию в представлении - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь объявить переменные в моем представлении, что, как я выяснил, запрещено. Мне нужно иметь возможность установить в каждой строке определенное число на основе поля идентификатора. Таким образом, если поле идентификатора появляется 3 раза, оно должно считать каждую строку как (1, 2, 3), а затем, когда идентификатор изменяется, оно должно перезапустить строку # до 1.

Что я пробовал:

Я пытался добавить переменные в представление, но это не принимается при создании представления.

    select  
    @Row_Number := case when @AppID = `afpd1`.`AppsID` then @Row_Number + 1 
    else 1 end as num, 
    @AppID := `afpd1`.`AppsID`,
    `afpd1`.`AppsID` AS `AppID1`,`afpd1`.`Amount`
    FROM
    (
        ( `app_fee_pay_data` `afpd1` JOIN `tracking` `tra1` ON ( ( `afpd1`.`AppsID` = `tra1`.`tci_application_id` ) ) )
        JOIN `fa_app_data` `fad1` ON ( ( `afpd1`.`AppsID` = `fad1`.`ApplicationID` )) join (select @Row_Number := 0) r
    ) 
    WHERE
    ( `tra1`.`tci_fee_submitted` = 11 and  `afpd1`.`TxnTypeId` = 2)

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

...