gpt4 book ai didi

php - JOIN 2 具有不同列的表

转载 作者:行者123 更新时间:2023-11-29 00:59:45 25 4
gpt4 key购买 nike

我有 2 个表,一个用于新图片,一个用于新用户,我想创建一个混合最新操作的墙,以便显示新用户和按日期排序的图片。

我想要的是单个查询以及如何在循环中知道当前条目是照片还是用户。

TABLE: users
Columns: id,username,fullname,country,date

TABLE: photos
Columns: id,picurl,author,date

期望的输出:


来自 加利福尼亚

Daniel 5 分钟前 刚刚注册了


David 的新图片(点击查看)15 分钟前


等等……

我求求你不要只给我查询语法,我不是专业人士,不知道如何在循环内处理它(我只知道如何获取常规 sql 查询)

谢谢

最佳答案

你可以使用联合:

SELECT concat(username, " from ", country, " has just registered") txt, date FROM users
UNION
SELECT concat("New picture By ", username, " (click to view)") txt, date FROM photos INNER JOIN users ON author=users.id
ORDER BY date DESC
LIMIT 10

这假设 photos 中的 author 列对应于 usersid。如果 author 实际上是一个包含用户名的字符串(这是一个糟糕的设计),您将不得不这样做:

SELECT concat(username, " from ", country, " has just registered") txt, date FROM users
UNION
SELECT concat("New picture By ", author, " (click to view)") txt, date FROM photos
ORDER BY date DESC
LIMIT 10

确保你在两个表中都有一个关于 date 的索引,否则这将是非常低效的。

关于php - JOIN 2 具有不同列的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4119163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com