簡體   English   中英

MySQL 和 PHP - 有效地獲取與每一行關聯的行和 arrays

[英]MySQL and PHP - Efficiently get rows and arrays associated with each row

我有兩張桌子:

表格1:

ID | user | info
------------------
1    1      data1
2    1      data2
3    2      data3

表2:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM