[英]How to get info from a child table using PDO in PHP with SQL?
如何通過使用引用父級的外鍵的子級表(通過父表)獲取信息。
例如:
表: user_list (父級)
-----------------------------
first_name | Last Name | ID |
-----------------------------
john | Appleseed | 4 |
| | |
表: user_info :(子級)
----------------------------------------------
email | password | userlist_ID |
----------------------------------------------
jappleseed@me.com | ******* | 4 |
假設我將John Appleseed的信息存儲在數組中:
$johnsInfo;
然后,如何從user_info表中檢索John的電子郵件?
我正在嘗試這個atm:
db->query("SELECT * FROM user_info WHERE userlist_ID = :ID", $johnsInfo);
雖然不確定這是否是正確的處理方式。
如果這是一個真實的示例,則應將兩個表合並為一個表。 通常,如果表具有1:1對應關系,則應將它們放在一起(盡管在某些特殊情況下不應該)。
無論如何,您想要執行以下操作:
SELECT ul.*, ui.* FROM user_list ul
LEFT JOIN user_info ui
ON ui.userlist_ID=ul.ID
WHERE ul.ID = :ID
有不同種類的聯接。 查閱MySQL文檔( http://dev.mysql.com/doc/refman/5.0/en/join.html )或搜索“數據庫聯接”之類的東西,以找出最終適合您的文件。
這是您需要的SQL
SELECT user_list.ID
,user_list.first_name
,user_list.last_name
,user_info.email
,user_info.password
FROM user_list
INNER JOIN user_info
ON user_list.ID = user_info.userlist_ID
WHERE user.ID = :ID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.