Что я пытаюсь сделать, если поле пустое, используйте другое поле в пределах WRKQRY
(Query/400) в определении полей результатов. Это возможно?Определить поля результатов, если пустое поле, а затем другое поле
ответ
Вы можете создать представление SQL с помощью команды RUNSQLSTM
, а затем выполнить запрос по представлению.
CREATE VIEW QTEMP/MYVIEW AS
SELECT F1, CASE WHEN F2 <> ' ' THEN F2 ELSE F3 END AS FX FROM MYLIB/MYFILE
Затем связать все это вместе с программой CL
.
PGM
DLTF FILE(QTEMP/MYVIEW)
MONMSG MSGID(CPF0000)
RUNSQLSTM SRCFILE(MYLIB/MYSRC) MBR(MYMBR)
RUNQRY QRY(MYLIB/MYQRY)
ENDPGM
Возьмите look по адресу CASE
, который должен сработать для вас.
CASE field
WHEN ' ' THEN newfield
ELSE field
END as myfield
im not sure, если это то, что им ищет не заявление DB2 SQL для QUERY 400 – Houlahan
Извините, я не думаю, что вы можете в 'WRKQRY'. Возможно, вам придется использовать SQL, чтобы делать то, что вы хотите. –
Запрос/400 устарел и должен считаться устаревшим. Он был заменен примерно на два десятилетия назад Query Management. Запросы Query/400 выполняются под старым оптимизатором базы данных (CQE) и не могут извлечь выгоду из более новых методов оптимизации, используемых новым оптимизатором (SQE). Рекомендуется перенести запросы Query/400 в QM Query или в DB2 Web Query.
К счастью, запросы на управление запросами могут быть созданы в запрошенном режиме, которые должны быть хорошо знакомы пользователям Query/400. Запросы в режиме запроса могут быть преобразованы в более мощный SQL-режим.
Вы можете использовать команду RTVQMQRY
для генерации источника SQL из запрошенного запроса Query/400. После того, как у вас есть источник, вы можете использовать выражение CASE ... END
, данное @Mike. Создайте запрос QM с помощью команды CRTQMQRY
и запустите его с помощью STRQMQRY
.
Кроме того, если продукт SQL находится в системе, QM там без каких-либо дополнительных затрат. Но Query/400 ** является ** дополнительной стоимостью и обеспечивает меньшее количество функций и меньшую гибкость. – user2338816
Если вам все еще нужно это сделать, я могу показать вам, как это сделать за 3 прохода Query 400. Да, я знаю, что это не эффективно, но это можно сделать.
- 1. Drupal Views - Скрыть поле, если поле не заполнено Поле не пустое?/Показывать поле, если оно пустое, а затем показать другое поле?
- 2. Javascript, если выбрать «другое», а затем заполнить поле ввода
- 3. BigQuery - Заменитель поле, если другое поле пустым
- 4. Solr Группировка пустое поле
- 5. Студия Android, если пустое поле
- 6. как проверить пустое поле или пустое поле
- 7. Удалите пустое пустое поле
- 8. JQuery определить, если поле формы
- 9. Определить пустое текстовое поле, с помощью text.isEmpty
- 10. Remove Click Handler Если поле формы пустое
- 11. Как обновить, но если поле пустое
- 12. Итерации по набору строк, получить поле, которое соответствует параметру, а затем другое поле из этой строки
- 13. Django пустое поле назад
- 14. подтвердите, если другое поле больше
- 15. Как определить, пустое или пустое поле в массиве Javascript?
- 16. поиска с доктриной, если пустое поле
- 17. избегать отправки, если любое поле пустое Axax
- 18. Проверьте, пустое поле winforms
- 19. MVC 3 поле обязательно, если другое поле заполнено
- 20. Создайте настраиваемое поле в SELECT, если другое поле равно
- 21. Игнорировать пустое текстовое поле
- 22. Суммарное поле пустое, а не показанное Zero
- 23. Удалить поле DataBinder.Eval, если оно пустое или пустое.
- 24. phpMailer проверяет, пустое поле
- 25. yii проверка только если другое поле присутствует
- 26. SQL: вырезать поле, а затем искать
- 27. Sql: выберите другое поле, если одно поле пуста или 0
- 28. сделать обязательное поле, если другое поле имеет значение
- 29. Rails: проверьте, пустое поле отправлено
- 30. Если текстовое поле пустое не работает
Почему вы хотите удалять и воссоздавать представление каждый раз, когда выполняется запрос? – WarrenT
@WarrenT Это просто личное предпочтение. Я не люблю оставлять редко используемые объекты постоянно на системе. – jamesallman
Хорошо, если понятно, что нет накладных расходов с представлением над таблицей, поскольку он не поддерживает путь доступа с ключом. В примере кода вы удаляете представление из последнего времени, а затем повторно создаете его для этого запуска, но код не удаляет его. И, пытаясь уменьшить лишние ненужные объекты, вы создали дополнительный CL * pgm, который будет редко использоваться. Просто говорю. ;) – WarrenT