我有一个生成结果集的 MySQL 存储过程。该查询用于GROUP_CONCAT
选择行作为列。
SQL 代码片段
SELECT CONCAT(
' SELECT MDE_ID, MDE_CreatedOn, MDE_LastEditedOn '
, GROUP_CONCAT(CONCAT(
' ,t', MDF_ID, '.MDEMDF_Value AS `', REPLACE(MDF_Label, '`', '``'), '`'
) SEPARATOR ' ')
接下来,我想对列上的记录集进行排序。
SQL = "CALL moduleentry_select(" & prjid & ",0,26,0)"
set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorLocation = 3
rs.LockType = 3
rs.Open SQL, Conn
rs.Sort = "volgnummer"
我已经验证并且该列在记录集中。
我收到以下错误:
Microsoft Cursor Engine error '80040e04'
Row handle is invalid.
default.asp, line 176
第 176 行是rs.Sort = "volgnummer"
编辑
数据库中实际上不存在“Volgnummer”列。它是通过旋转原理动态选择的,使用GROUP_CONCAT
. 参考这个 SA 答案:将表行连接到列中,列标题来自原始行