我有2個基本表 - 一個包含主ID標識記錄的主表以及一個包含可變數量值引用的相關表,如下所示。是否可以從MySQL表中返回一個數組?
表A:主(一個)
+----+-------------+
| ID | description |
+----+-------------+
| 1 | Arnold |
+----+-------------+
| 3 | Baker |
+----+-------------+
| 7 | Charlie |
+----+-------------+
表B:相關(多)
+----+-------+
| ID | value |
+----+-------+
| 1 | 1 |
+----+-------+
| 1 | 2 |
+----+-------+
| 3 | 3 |
+----+-------+
| 3 | 2 |
+----+-------+
| 3 | 1 |
+----+-------+
| 7 | 2 |
+----+-------+
與表B加入表A後,是否有可能以這樣的返回的列表B中的value
列作爲數組返回的方式?
我期待返回類似的結果設置如下(根據上面的例子),其中第2列可以作爲數組值,而不是一個字符串值來處理:
{
[0] => 1
[1] => array(1,2)
}
{
[0] => 3
[1] => array(3,2,1)
}
{
[0] => 7
[1] => array(2)
}
這裏是我的查詢語句以字符串值的形式獲得列:
SELECT tablea.*, tableb.value
FROM tablea
LEFT JOIN tableb ON tableb.ID = tablea.ID
從單純的MySQL,沒有。如果你使用的是編程語言(即PHP),那麼是的。 – Kermit
你必須將數組「打包」成一個字符串(用於存儲),並在MySQL返回之後將其解壓縮。類似「2 2 1」(使用implode並在PHP中爆炸)。 –
所以你的意思是我將需要返回表格b值作爲由逗號分隔的字符串(例如),然後使用PHP來做轉換?那正是我想要發生的事情,但我想問問是否有人通過mysql中的查詢語句正確完成了它。感謝澄清和回答@FreshPrinceOfSO –