我们说我有一张类似下面的表格
pp_refno pp_rectype _pp_account pp_empid pp_dept
---------------------------------------------------------
90221 contractor 061509864 C00001121 1111000139
是否有可以编写的查询,以便以这种格式返回数据?
field_name field_type field_value
---------------------------------------------------------
pp_refno int 90221
pp_rectype char contractor
pp_account char 061509864
pp_empid char C00001121
pp_dept char 1111000139
答案 0 :(得分:0)
是的,可以使用您正在使用的数据库的信息架构。但是,您必须添加1列才能将其用于多行:
ko.applyBindings(new ViewModel(@Model.ClientSideModel.ToJson()));
这样您就可以识别多条记录。
此外,您还必须为每个表编写或生成特定查询,由于数据的工作方式,这些查询可能很大且速度很慢。
如果您只是检索单行,您还可以使用存储过程以给定方式列出数据。
答案 1 :(得分:0)
您可以使用SQL查询的UNPIVOT函数来实现此行为。下面的链接为您提供了类似示例的更多想法。
要读取列类型,您需要加入sys表并获取列类型
SELECT DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'yourTableName' AND
COLUMN_NAME = 'yourColumnName'
获得unpivot表别名后,您应该能够将其与SCHEMA.columns表连接起来并实现逻辑