Php 组合多个MySQL查询

Php 组合多个MySQL查询,php,mysql,mysqli,Php,Mysql,Mysqli,因此,我在PHP中有一个查询,它按预期工作: SELECT files.ID, files.Name, files.Downloads, if (dlratings.userID IS NULL,0,r.vote) AS has_voted FROM files LEFT JOIN dlratings ON (files.ID = dlratings.fileID AND dlratings.userID = $userID) WHERE fi

因此,我在PHP中有一个查询,它按预期工作:

SELECT files.ID, 
       files.Name,
       files.Downloads, 
       if (dlratings.userID IS NULL,0,r.vote) AS has_voted
FROM files
LEFT JOIN dlratings
   ON (files.ID = dlratings.fileID AND dlratings.userID = $userID)
WHERE files.Temporary != 1 AND files.Type = $type AND files.Cat_1 = $cat_1 
ORDER BY files.rating DESC, files.DateOrder DESC
现在我的问题来了:我还想选择与这些选定文件关联的标记。我使用的是,这意味着我有一个名为“tagmap”的表,其中有行
file\u id
tag\u id
,我有一个表“tags”,其中有行
tag\u id
tag\u name

要在只有一个文件的页面上列出所需的标记,我使用以下查询:

SELECT files.Name,
       GROUP_CONCAT(tags.tag_name ORDER BY tags.tag_name SEPARATOR ', ') AS tags
FROM files
LEFT JOIN tagmap
   ON tagmap.file_id = files.ID
LEFT JOIN tags
   ON tagmap.tag_id = tags.tag_id
WHERE files.ID = $fileID
如何将两者结合起来,以便在第一个查询提供的列表中显示标记

这是我尝试过的,但它只给了我一个结果:

SELECT files.ID, 
       files.Name,
       files.Downloads,
       GROUP_CONCAT(tags.tag_name ORDER BY tags.tag_name SEPARATOR ', ') AS tags
       if (dlratings.userID IS NULL,0,r.vote) AS has_voted
FROM files
LEFT JOIN tagmap
   ON tagmap.file_id = files.ID
LEFT JOIN tags
   ON tagmap.tag_id = tags.tag_id
LEFT JOIN dlratings
   ON (files.ID = dlratings.fileID AND dlratings.userID = $userID)
WHERE files.Temporary != 1 AND files.Type = $type AND files.Cat_1 = $cat_1 
ORDER BY files.rating DESC, files.DateOrder DESC

注意,我是通过php调用这些查询的,我使用的是mysqli。我尝试了一点mysqli\u multi\u查询,但我也完全不知道该查询…

尝试按files.ID添加一个组。那可能行吗?

哇,我完全没想到。谢谢。我会尽快接受你的回答:)