下面是我在SQL开发人员中使用的命令,结果是像Col1,Col2,Col3,.. n
在组中选择listagg(COLUMN_NAME,‘,’)(按column_id asc排序)来自all_tab_columns哪里……
Sybase(现在的SAP)IQ构建在Sybase(现在也是SAP)SQLAnywhere数据库引擎之上(或用作前端);最终结果是,根据您要执行的操作,您可以使用两种产品的SQL构造(例如,函数)。
注意:我面前没有IQ数据库,因此您可能需要调整以下内容...
SQLAnywhere有一个 list() 功能类似于Oracle的功能 listagg() 。
list()
listagg()
以下是从SYSTABLE表中显示列(作为逗号分隔列表)的几个示例:
# all of the following examples use the comma (',') as the delimiter # output determined by order in which column names are pulled from table (probably column_id) select list(c.column_name,',') from SYSTABLE t join SYSCOLUMN c on t.table_id = c.table_id where t.table_name = 'SYSTABLE' go table_id,file_id,count,first_page,last_page,primary_root,creator,first_ext_page,last_ext_page,table_page_count,ext_page_count,object_id,table_name,table_type,view_def,remarks,replicate,existing_obj,remote_location,remote_objtype,srvid,server_type,primary_hash_limit,page_map_start,source,encrypted,location_escape_char # order the output by column_name select list(c.column_name order by c.column_name,',') from SYSTABLE t join SYSCOLUMN c on t.table_id = c.table_id where t.table_name = 'SYSTABLE' go count,creator,encrypted,existing_obj,ext_page_count,file_id,first_ext_page,first_page,last_ext_page,last_page,location_escape_char,object_id,page_map_start,primary_hash_limit,primary_root,remarks,remote_location,remote_objtype,replicate,server_type,source,srvid,table_id,table_name,table_page_count,table_type,view_def # order the output by column_id select list(c.column_name order by c.column_id,',') from SYSTABLE t join SYSCOLUMN c on t.table_id = c.table_id where t.table_name = 'SYSTABLE' go table_id,file_id,count,first_page,last_page,primary_root,creator,first_ext_page,last_ext_page,table_page_count,ext_page_count,object_id,table_name,table_type,view_def,remarks,replicate,existing_obj,remote_location,remote_objtype,srvid,server_type,primary_hash_limit,page_map_start,source,encrypted,location_escape_char