【发布时间】:2012-03-17 11:37:12
【问题描述】:
我有一个具有以下结构的表。
我无法控制更改表。
它有三列:student_name、student_id、name_id
现在学生姓名可以是任意数量的单词。恰好一个字会排成一排。根据字数输入name_id,重复student_id。
结构类似于:
说 name1 是:Ram Laxman Prasad Sharma
name2 是:Pandit Gangadhar Vidyadhar Mayadhar Omkarnath Shastri
所以表格看起来像:
student_name | student_id | name_id
-------------------------------------------------
Ram 1 1
Laxman 1 2
Prasad 1 3
Sharma 1 4
Pandit 2 1
Gangadhar 2 2
Vidyadhar 2 3
Mayadhar 2 4
Omkarnath 2 5
Shastri 2 6
我希望我能清楚地解释结构。
现在,我想编写一个查询来读取每个学生的前四个姓名。但是,如果名称的数量少于四个,则应该删除空字符串,如果大于四个,则应该删除前四个,然后忽略。
我只需要把它放在一个单一的选择查询中,因为这个查询将在一个 spring 批处理程序中传递。但是我不知道如何遍历 nameid 列来获取每个学生的前四个 name id。
如何为 DB2 数据库 v8 设计这个 sql??
感谢阅读。
【问题讨论】:
-
oh v8 :(( 在最新版本中您可以使用
xmlcast(xmlgroup(...,但请查看xmlagg()