Mysql 如果结果不同,如何运行查询以从不同的表中获取数据
希望有人能帮我从查询中获取数据 我有5张桌子Mysql 如果结果不同,如何运行查询以从不同的表中获取数据,mysql,Mysql,希望有人能帮我从查询中获取数据 我有5张桌子 日志活动 |id |用户|活动| id |内容| id | |1 | 1 | 1 | 1 | |2 | 1 | 2 | 1 | |3 | 1 | 3 | 1 | |4 | 2 | 1 | 2 | |5 | 2 | 2 | 2 | |6 | 2 | 3 | 2 | |7 | 2 | 1 | 3 | |8 | 3 | 2 | 3 | |9 | 3 | 3 | 3 | |10 | 3 | 1 | 1 | 2表活动 |id |名称|活动| |1 |视图| |
|1 | 1 | 1 | 1 |
|2 | 1 | 2 | 1 |
|3 | 1 | 3 | 1 |
|4 | 2 | 1 | 2 |
|5 | 2 | 2 | 2 |
|6 | 2 | 3 | 2 |
|7 | 2 | 1 | 3 |
|8 | 3 | 2 | 3 |
|9 | 3 | 3 | 3 |
|10 | 3 | 1 | 1 |
|1 |视图|
|2 |点击按钮|
|3 |播放视频|
|1 | Alex |
|2 |安德里安|
|3 |亚瑟|
|1 |家|
|2 |联系|
|3 |简介|
|1 |阅读更多|
|2 |提交|
|3 |寄存器|
|1 | Alex |查看|主页|
|2 | Alex |点击按钮|阅读更多|
|3 | Alex |播放视频|另一张表1 |
|4 |安德里安|查看|联系|
|5 |安德里安|点击按钮|提交|
|6 |安德里安|播放视频|另一张表2 |
|7 |安德里安|视图|另一个表3 |
|8 |亚瑟|点击按钮|注册|
|9 |亚瑟|播放视频|另一张表3 |
|10 |亚瑟|观|家|
感谢您的帮助您可以使用
左加入
,例如:
SELECT la.id, u.name, a.name_activity, IF(a.id = 1, p.name, b.name) As content_id
FROM log_activities la LEFT JOIN users u ON la.user = u.id
LEFT JOIN activity a ON la.activity_id = a.id
LEFT JOIN pages p ON la.content_id = p.id
LEFT JOIN button b ON la.content_id = b.id;
谢谢您的回答,但我需要的是根据活动id显示内容id,假设活动id为1,您将从表页中加入,但如果活动id为2,您将使用表按钮谢谢Darshan,这非常有用,如果我们有另一个表,您能给我举个例子吗?我必须输入哪一个代码“IF”?如果您有另一个表,那么(a)您需要将其包含在
JOIN
中,并且(b)您需要在要以不同方式呈现的任何列上写入IF
条件。此外,如果答案对您有帮助,请将其标记为已接受。