我有一個帶有2個表的MySQL DB。 第一個表:需要關於從數據庫檢索數據的建議
Posts
ID
post_title
post_content
... etc
而第二表具有附加數據:
Postmeta
ID
Post_ID (FK)
meta_key
meta_value
,我需要在meta_key /值對中的數據。但是這個數據庫的組織方式是第二個表中的每一行只有一條信息。重複
ID Post_ID meta_key meta_value
1 5 info 30
ID Post_ID meta_key meta_value
2 5 additional_info 40
ID Post_ID meta_key meta_value
3 6 info 50
ID Post_ID meta_key meta_value
4 6 additional_info 60
所以,如果我運行查詢
SELECT
posts.id,
posts.post_date,
posts.post_author,
posts.post_content,
posts.post_title,
postmeta.meta_id,
postmeta.meta_key,
postmeta.meta_value
FROM posts INNER JOIN postmeta ON posts.id = postmeta.post_id
WHERE posts.post_type = 'post'
我回來,從第一個表(ID/POST_CONTENT等),我需要的所有數據,但數據:
例如(第二個表)多次。 但我只需要第一個表的數據,但第二個表中的所有附加數據都與第一個表的ID相關。
我應該如何過濾所有這些東西?可能是一些PHP循環?
您應該使用查詢您發佈獲取所有數據,然後在你的PHP應用程序,你應該在你想要的格式,輸出從各數據第一個表格是第二個表格中相應項目的標題。您不應該在SQL中格式化數據,它不適用于格式化數據。 –