Я пишу программу SQR, чтобы отправить поставщику файл, содержащий информацию о сотруднике. Файл содержит ряд полей, для которых я присвоенных переменные $ Code_1 $ Code_2 $ Code_3 ....Возможны динамические переменные в SQR (не динамический SQL)
Каждый код имеет связанный с ним скорость, и я присвоенные аналогичные переменные ($ Rate_1 , $ Rate_2 и т. Д.)
У меня есть таблица поиска, в которой есть столбцы EMPLID, JOBCODE, HOURLY_RT. Мне нужно пройти через каждый сотрудник, чтобы получить все коды/ставки. Возможно, что у некоторых сотрудников будет больше/меньше, чем у других. Возможно ли иметь «динамические» переменные, например, для динамического sql? Например, что-то вроде $ Code _ [$ i]? Эта мысль сделать что-то вроде этого:
let #i = 1
begin-select
EC.JOBCODE
EC.HOURLY_RT
let $Code_[$i] = &EC.JOBCODE
let $Rate_[$i] = &EC.HOURLY_RT
let #i = #i + 1
FROM PS_ACME_LOOKUP EC
WHERE EC.EMPLID = &J.EMPLID
end-select
Это не работает, но я интересно, если есть такой же (или лучше) способ достижения этой цели. Я полагаю, что мог бы выполнить оценку счетчика: когда #i = 1, $ Code_1 = ... когда # i = 2, $ Code_2 = ... Но я надеюсь, что есть лучший способ.
Благодаря
Edit - Просто для дополнительного разъяснения для каждого сотрудника, одна строка будет записана в файл с полями для каждого из этих значений (заполняется или нет) - поэтому линия будет иметь: $ EMPLID $ Code_1 $ Code_2 $ Code_3 ..... $ Rate_1 $ Rate_2 $ Rate_3
Для дальнейшего уточнения таблицы поиска будет иметь несколько строк для каждого сотрудника, так что таблица может выглядеть следующим образом:
EMPLID JOBCODE HOURLY_RT
0001 ABC 10.50
0001 DEF 9.75
0001 GHI 9.50
Когда я поп ull переменные, перейдя через таблицу, я бы хотел, чтобы $ Code_1 = 'ABC', $ Rate_1 = 10.50, $ Code_2 = 'DEF', Rate_2 = 9.75 и т. д.
Позиции кодов означают что-нибудь?Например, если EMPLID 0001 не имеет JOBCODE DEF, должен ли файл по-прежнему резервировать это пространство или вы просто заполните его GHI? В зависимости от вашего ответа, я думаю, вы можете сделать это с помощью SQL одним из двух способов. – Bob