我有以下表命名attributes
:其他列選擇列
| identifier | attribute | value |
|------------|-----------|------------|
| 23 | myKey | myValue |
| 24 | hisKey | hisValue |
| 25 | herKey | herValue |
| 23 | otherKey | otherValue |
我想打它選擇上述行SQL SELECT查詢,通過他們的識別符組他們,並使用attribute
爲重點和作爲密鑰的值爲value
。
這意味着,它看起來像上面的表,應該變成下面的PHP數組:
Array
(
[0] => Array
(
[identifier] => 23
[myKey] => myValue
[otherKey] => otherValue
)
[1] => Array
(
[identifier] => 24
[hisKey] => hisValue
)
[2] => Array
(
[identifier] => 25
[herKey] => herValue
)
)
我曾嘗試下面的SQL查詢:
SELECT attributes.value as atttributes.attribute FROM attributes GROUP BY identifier
這將給出以下錯誤:
Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.attribute FROM attributes GROUP BY identifier' at line 1'
D任何人都知道如何做到這一點?
爲什麼你不能循環訪問記錄並使用PHP構建該數組? – 2012-07-12 17:58:47
我不知道你在找什麼SQL輸出。請舉一個例子。 – RedFilter 2012-07-12 18:02:54
我可以。那沒問題。我只是認爲用SQL查詢來做它會更好,甚至可以提供更好的性能。 – simonbs 2012-07-12 18:03:34