使用tlist / SQL的下拉选择的隐藏参数

时间:2015-03-16 17:31:00

标签: sql drop-down-menu html.dropdownlistfor tlist powerschool

为了让您对手头的问题有所了解,我为学生信息系统创建了一个报告,该系统根据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。因此,如果学生ID 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应该显示在Sports下拉列表中,并显示相应的子类型。任何持有所选标准的学生(一次只能选择一项运动),报告还应该拉到logtypeid 626,子类型29,和logtypeid 626子类型43.我已经尝试了我能想到的一切。我相信答案可能会落在CASE WHEN之间,但我不确定语法。任何帮助或建议将不胜感激。提前谢谢。

0 个答案:

没有答案