這裏是我陷入困境的地方。我有兩個表,我試圖從中獲取信息。一個表格包含id
和post_title
列下感興趣的數據,另一個表格包含post_id
,meta_key
和meta_value
列下的數據。使用PHP + MySQL左連接合並來自2個查詢的結果
我有一個數字存儲在$in
,通過它我可以從兩個表中篩選數據。
要返回id
和post_title
從第一個表是一個簡單的:
$query = "SELECT id, post_title FROM wplz_posts WHERE id IN ($in)";
當然這會返回一個名稱,該名稱的唯一ID,例如:
[id] => 8
[post_title] => Rustic Wooden Chair
我然而也想要獲取與上面返回的id
相關的價格,並且單個查詢要做到這一點看起來像這樣:
$query = "SELECT meta_value
FROM wplz_postmeta
WHERE post_id IN ($in) AND meta_key = '_price'";
我的問題是,我希望能夠將所有這些數據返回到一個查詢而不是兩個,這樣post_title
和meta_value
將對應於$in
中的每個單個數字(比如說,8),然後它將允許我將查詢返回給一個數組,然後根據需要遍歷該數組。老實說,我花了相當多的時間在這方面,我想我要做的事情需要一個「左加入」,但在多個視頻和教程後,我一直無法弄清楚如何使這種難以捉摸的技術工作。感謝您的幫助。 :)
您的所有結果是否都有_price元鍵值?如果是這樣,一個'INNER JOIN'是最好的,否則'LEFT JOIN'可以工作,但看起來像需要額外的工作。 – Clay