2014-12-24 55 views
1

不知道多行,如果標題是制定正確的,所以有更好的解釋:返回由一列編組並命名其他列的值

表:users_data

uid | key | value 
1 | "age" | "23" 
1 | "city" | "London" 
1 | "name" | "John" 
2 | "age" | "19" 
2 | "city" | "Tokio" 
2 | "name" | "Aiko" 

查詢:選擇數據

uid | age | city  | name 
1 | "23" | "London" | "John" 
:23歲

結果應該是這樣的用戶

甚至沒有當前的代碼,因爲我不知道是否可以按字段的值命名列,對不起。

回答

1

你絕對可以在SQL中輕鬆做到這一點......不幸的是,我不認爲SQLite支持Pivot。

另一種方法是密碼更多一些,並且只有在密鑰事先已知時纔有效。

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 
+0

唉,還是有些事,謝謝。 – Yiin

+0

哦,是的,對不起:) – Yiin

相關問題