Скрытые параметры для выпадающих списков с использованием tlist/SQL
Чтобы дать вам некоторое представление о данном вопросе, я создал отчет для информационной системы учащегося, который извлекает журналы учащегося на основе выбираемых критериев из набора раскрывающихся списков на html-странице. Выпадающие списки заполняются с помощью tlist/sql. В текущем отчете только 3 раскрывающихся списка:
Дата начала, дата окончания и спортивные журналы. Вот код для выпадающего списка Спорт:
SELECT DISTINCT log.logtypeid,
CASE WHEN log.subtype is null THEN ' ' ELSE log.subtype END subID,
lt.Name logtype,
CASE WHEN to_char(st.ValueT) is null THEN ' - NONE' ELSE ' - ' || to_char(st.ValueT) END subtype
FROM log
INNER JOIN gen lt ON log.logtypeid = lt.id
LEFT OUTER JOIN gen st ON st.Name = to_char(lt.ID)
AND st.value = log.subtype
AND st.Cat = 'subtype'
WHERE lt.Cat = 'logtype'
AND log.logtypeid = '3935'
ORDER BY subtype
Теперь, чтобы отчет выглядел так, как он был спроектирован, я считаю, что мне нужно, чтобы каждый выбор из выпадающего списка "Спорт" извлекал некоторые данные, которые не будут перечислены или отображены в выпадающем списке. В его нынешнем состоянии, и как он должен оставаться...
Sports - Baseball
Sports - Bowling
Sports - Boys Basketball
Sports - Boys Golf
Sports - Dance
Sports - Diving
Спорт представляет собой logtypeid 3935. Бейсбол - это подтип 101, боулинг - это подтип 102 и т. Д.
Чтобы отчет извлекал данные в соответствии с планом, необходимо извлечь два дополнительных подтипа, но, к сожалению, они содержат другой logtypeid, 626. Поэтому, если у идентификатора студента 1 есть 3935(logtypeid), 101(подтип), он должен также потяните его 626(logtypeid) 29(подтип) и 626(logtypeid) 43(подтип), если он / она имеет их.
Data Example:
STUDENTID LOGTYPEID SUBTYPE
6382 626 27
6382 626 41
6382 626 38
6382 626 43
6382 626 29
6382 3935 109
6382 3935 117
6383 626 43
6383 626 30
6383 626 43
6383 626 25
6383 626 43
6383 626 14
6383 3935 117
6400 626 38
6401 626 28
6401 626 36
6401 3935 110
6402 15 3
6405 3935 101
6405 3935 115
6405 626 29
6405 626 43
поэтому, чтобы упростить (я надеюсь), все 3935 должны отображаться в выпадающем меню "Спорт" с соответствующими подтипами. Любой студент, который соответствует выбранным критериям (может выбрать только один вид спорта за один раз), в отчете также должен быть указан logtypeid 626, подтип 29 и logtypeid 626 подтип 43. Я перепробовал все, что мог придумать. Я считаю, что ответ может падать между CASE WHEN, но я не уверен в синтаксисе. Любая помощь или предложения будут с благодарностью. Заранее спасибо.