php mysql三个左连接方法

I have three table:

Article:

|id|title|timestamp|......

group_tags:

|id|content_id|tags_id

tags_name:

|id|name|

I need to list article title with any tag id:

function _tags_search_($id,$type){
    $DB_QUERY = mySqli::f("SELECT title FROM " . ARTICLES . " LEFT JOIN " . POSTS_TAGS . " ON " . ARTICLES . ".id = " . POSTS_TAGS . ".content_id WHERE 
    " .POSTS_TAGS . ".tags_id = ? AND approved = 1 ORDER BY timestamp DESC LIMIT 12", $id);

        foreach($DB_QUERY as $row){
         $data[] = $row;
        }

    return $data;
}

this worked for me and show list of article title.

But I need to show tag name for tags id in addition to list title like this:

Search result for : Linux

I have two way :

  • three left join method ( if true how do?)

  • fetch another query for show tag name.

I think three join is better and faster. how do show tags name with three join method?!

try this

SELECT title, name from
group_tags g
INNER JOIN article ON a.id = g.content_id
INNER JOIN tags_name t ON t.id = g.tags_id

Let me know if you face any issue