Sqlite 返回按列分组并按其他列值命名的多行
不确定标题是否正确表述,因此有更好的解释: 表:用户\u数据Sqlite 返回按列分组并按其他列值命名的多行,sqlite,field,rename,Sqlite,Field,Rename,不确定标题是否正确表述,因此有更好的解释: 表:用户\u数据 uid | key | value 1 | "age" | "23" 1 | "city" | "London" 1 | "name" | "John" 2 | "age" | "19" 2 | "city" | "Tokio" 2 | "name" | "Aiko" 查询:选择23岁用户的数据 结果应该如下所示: uid | age | city | name 1 | "23" |
uid | key | value
1 | "age" | "23"
1 | "city" | "London"
1 | "name" | "John"
2 | "age" | "19"
2 | "city" | "Tokio"
2 | "name" | "Aiko"
查询:选择23岁用户的数据
结果应该如下所示:
uid | age | city | name
1 | "23" | "London" | "John"
我甚至没有最新的代码,因为我不知道是否可以通过字段的值来命名列,对不起。在SQL中,您完全可以轻松完成这项工作。。。不幸的是,我认为SQLite不支持Pivot by 另一种方法是代码密集型的,只有在事先知道密钥的情况下才有效
Select name.uid name.value, city.value, age.value from
(Select uid, value from users_data where key="name") as name
join (Select uid, value from users_data where key="city") as city on name.uid=city.uid
join (Select uid, value from users_data where key="age") as age on name.uid=age.uid