![](/img/trans.png)
[英]How to join or left join three tables to get a piece of data from one of the tables?
[英]How to LEFT JOIN three tables with order by?
我已经尝试了很多次,但是每次它都遇到sql语法错误,所以我将其分为两个查询,但我希望它成为一个查询。请帮助我。以下是代码:
$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']));
这是错误:
警告:您的SQL语法有误; 检查与您的MySQL服务器版本相对应的手册以在'is ON is.imageID = i.imageID WHERE show_in_gallery ='Y'AND image_user ='8'ORD'第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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.