[英]MySQL and PHP - Efficiently get rows and arrays associated with each row
我有兩張桌子:
ID | user | info
------------------
1 1 data1
2 1 data2
3 2 data3
table1_id | array_info
------------------------
1 a
1 b
2 a
3 d
3 g
3 m
如何有效地返回與用戶關聯的行,以便我獲取信息和該 ID 的關聯 array_info 的數組?
例如,像“select ID, info from table1 where user = 1”這樣的查詢,但也會從 table2 返回 [a,b],因此結果將類似於 [1, data1, [a, b]]第一行和 [2, data2, [a]] 與第二行。 類似地,“...where user = 2”應該返回類似 [3, data3, [d, g, m]] 的內容。 我不認為 MySQL 返回的東西很像這樣,但也許 PHP 可以平滑左連接的輸入? 如果 MySQL 為每個 array_info 返回一個單獨的行,則復制 info 中的所有數據似乎很浪費,但我不確定還有其他方法。
您可以將 GROUP_CONCAT 與 JOIN 一起使用,然后在迭代結果時,使用 explode() 將連接的字符串轉換為數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.