sql - 返回子表
问题描述
我有下表:
|object|attribute1|attribute2|
|A |true |10 |
|B |false |15 |
我想要一个返回的查询:
|key |value |
|Name_A_1 |true |
|Name_A_2 |10 |
|Name_B_1 |false |
|Name_B_2 |15 |
所以基本上我想将对象的名称转换两次并将其附加到每个属性。
编辑:
正如蒂姆·比格莱森所说,我在这里遇到了类型问题。所以我愿意将所有类型转换为字符串。
解决方案
我会这样做apply
:
select ky, val
from t cross apply
(values ('Name_' + object + '_1', attribute1),
('Name_' + object + '_2', cast(attribute1 as varchar(255)))
) v(ky, val);
推荐阅读
- android - 当我尝试实例化 ViewModelProviders 时,无法解析 of() 方法
- django - 如何通过 Queryset 在 Python 函数中访问 Django 模型实例的“absolute_url”
- python - 使用 Jinja 按嵌套字典值过滤
- c# - 同一数据库上的多个项目、上下文和表
- apache-kafka - 使用kafka为clickhouse生成数据
- google-cloud-platform - 尝试重新创建 cloudsql 实例时出现错误“项目中的资源是冲突的主题”的原因是什么?
- c# - 我可以将 ics 文件发送给 Outlook 与会者,将与会者状态更新为接受/拒绝吗
- python - 如何使用 webpy 在 python 中修复 500 Internal Server Error?
- objective-c - 绑定套接字时出错:NSPOSIXErrorDomain Code=1 "Operation not allowed"
- swagger - 如何在调用 Rest Endpoint 时在 Swagger 中设置输入参数选项