Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如果结果不同,如何运行查询以从不同的表中获取数据_Mysql - Fatal编程技术网

Mysql 如果结果不同,如何运行查询以从不同的表中获取数据

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 |视图| |

希望有人能帮我从查询中获取数据

我有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 |视图|
    |2 |点击按钮|
    |3 |播放视频|

  • 表用户 |id | name |
    |1 | Alex |
    |2 |安德里安|
    |3 |亚瑟|

  • 表页(如果活动id=1) |id | name |
    |1 |家|
    |2 |联系|
    |3 |简介|

  • 表格按钮(如果活动id=2) |id | name |
    |1 |阅读更多|
    |2 |提交|
    |3 |寄存器|

  • 如何从activity_id获取查询以显示日志activity join到用户、activity和content_id库 |id |用户名称|活动|内容| id |
    |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
    条件。此外,如果答案对您有帮助,请将其标记为已接受。