讓我們假設我必須處理許多有很多貓的祖母。我有一個表granny_cat:直接從MySQL的列數據中獲取列表
granny_id | kitty_name
--------------------
1 Kizzy
1 Jimmy
1 Katty
2 Georges
2 Albert
3 Panther
,我想找回的奶奶1貓的,即一個列表來獲得類似的信息(用PHP語法)
array("Kizzy","Jimmy","Katty")
但是,查詢
SELECT kitty_name WHERE granny_id = 1
回報像
array
(
array('kitty_name' => "Kizzy"),
array('kitty_name' => "Jimmy"),
array('kitty_name' => "Katty")
)
什麼是非常合乎邏輯的,因爲我可以用相似的查詢獲取兩個或更多字段。我可以很明顯地映射這個數組來得到我想要的,但是,我不知道是否有一種(簡單的)方式直接從mysql獲取它,或者不是。
謝謝。
謝謝,即使我不能使用PostgreSQL解決方案,我的好奇心也滿足了。然而,以逗號分隔的列表是危險的,如果某隻貓被命名爲「哦,你是一隻可愛的小貓!」 ? – user151229 2009-08-19 12:37:51
@hlanak,很好的後續問題。您需要處理您自己的字段分隔符(您可以通過SEPARATOR在GROUP_CONCAT中指定)並轉義。例如,您可以在連接之前對HEX()進行編碼。 – pilcrow 2009-08-19 13:41:19