2
所以,我有這個疑問在PHP這是工作的打算:結合多個MySQL查詢
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
現在到了我的問題:我想還可以選擇與這些選定的文件相關聯的標籤。我使用的是toxi method,這意味着我有一個名爲「tagmap」的表,其行file_id
和tag_id
,我有表「標記」,行tag_id
和tag_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
如何將二者結合起來,這樣我就可以顯示由設置在列表中的標籤第一個查詢?
這是我試過,但它只是給了我1個結果:
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這些querys和我使用的mysqli。我試了一下mysqli_multi_query
,但我完全失去了那一個...
哇,我完全錯過了。非常感謝。我會盡快接受你的回答:) – halfcat