如何用 order by LEFT JOIN 三张表?

How to LEFT JOIN three tables with order by?

我已经尝试了很多次,但每次都出现 sql 语法错误,所以我将其分成两个查询,但我希望它是 one.Please 帮助 me.Follwing 是代码:

$pictures = $db->get_results(sprintf("SELECT imageID, image_name, image_date, username, userID 
            FROM images LEFT JOIN users ON images.image_user = users.userID 
            WHERE show_in_gallery = 'Y' AND image_user = '%d' 
            ORDER BY imageID DESC LIMIT 0, 24", $data['userID']));
$stats = $db->get_results(sprintf("SELECT STAT.imageID, STAT.image_views,STAT.unique_views,STAT.earnings 
        FROM image_stats as STAT LEFT JOIN images as IMG ON STAT.imageID = IMG.imageID 
        WHERE  image_user = '%d' 
        ORDER BY imageID DESC LIMIT 0, 24", $data['userID']));

这里是错误:

Warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'is ON is.imageID = i.imageID WHERE show_in_gallery= 'Y' AND image_user = '8' ORD' at line 1

大概是你想要的?不完全确定您的尝试失败的原因。

SELECT IMG.imageID, IMG.image_name, IMG.image_date,
    USR.username, USR.userID,
    STAT.image_views, STAT.unique_views, STAT.earnings 
FROM image_stats as STAT LEFT JOIN images as IMG 
    ON STAT.imageID = IMG.imageID
LEFT JOIN users as USR 
    ON IMG.image_user = USR.userID
WHERE  image_user = '%d' AND USR.show_in_gallery = 'Y'
ORDER BY imageID DESC LIMIT 0, 24