Php 合并MySQL查询的结果
我会尽我所能把场景布置好*点燃蜡烛 我想说的是 搜索图像\u希望查看用户是否喜欢任何图像,然后将其包含在下一个查询中。 从用户上传的图像中获取所有图像。 显示两个结果以及按id描述的顺序。 当涉及到包含不同的表结果时,我很讨厌MySQL,所以我希望我已经包含了足够的信息。如果你还需要,请告诉我 表结构 你喜欢的形象 id |用户id |图像id 图像 id |上传者id |日期1:Php 合并MySQL查询的结果,php,mysql,Php,Mysql,我会尽我所能把场景布置好*点燃蜡烛 我想说的是 搜索图像\u希望查看用户是否喜欢任何图像,然后将其包含在下一个查询中。 从用户上传的图像中获取所有图像。 显示两个结果以及按id描述的顺序。 当涉及到包含不同的表结果时,我很讨厌MySQL,所以我希望我已经包含了足够的信息。如果你还需要,请告诉我 表结构 你喜欢的形象 id |用户id |图像id 图像 id |上传者id |日期1: SELECT * FROM Image_Likes WHERE User_Id = x ORDER BY Id D
SELECT * FROM Image_Likes WHERE User_Id = x ORDER BY Id DESC
2:
3:全部
SELECT L.*, I.* FROM Image_Likes L LEFT JOIN Images I ON L.Image_id = I.Id WHERE L.User_ID = x ORDER BY I.Id DESC
将x替换为用户ID您应该真正了解连接。您将不断地编写糟糕的代码,并设计糟糕的数据库来解决不知道如何使用它们的问题
SELECT *
FROM images
LEFT JOIN image_likes ON image_likes.image_id = images.id
WHERE image_likes.user_id = $my_id
OR images.creator_id = $my_id
ORDER BY images.id DESC
除非您有一个非常奇怪的表结构,否则这应该可以通过单个联接查询实现:真正有用的是您已经尝试过的代码,以及结果是什么was@orourkek我没有试过,而是研究过。他们有这么多不同类型的连接,我不知道从哪里开始。@MarcB哪种类型?内部连接?使用表结构编辑。只是澄清一下,这是否选择并搜索所有来自图像的图像结果?还有,1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解在第1行使用“左连接图像I ON L.Image_id=I.id ORDER BY I.id DESC LIMIT 0,30”的正确语法:是!它从Image_like的ID上的任何匹配的第一位获取所有结果,并尝试将它们与l.Image_ID=I.idSorry上的Images表中的相应值连接起来,固定顺序为WHERE。现在就试试看,它似乎只是从图像中返回图像结果,而不是用户上传的结果。我会做更多的测试。代码没有按预期工作。如果是当前用户上传的,它包含了其他人喜欢的内容。我会和你一起玩it@Trendee如果我没有弄错的话,我相信您可以在ON子句中添加AND,以添加image\u likes.user\u id=$my\u id
SELECT *
FROM images
LEFT JOIN image_likes ON image_likes.image_id = images.id
WHERE image_likes.user_id = $my_id
OR images.creator_id = $my_id
ORDER BY images.id DESC