按顺序查询,根据type_id的不同于不同的表进行联合查询,请问怎么写select语句

我现在有个user_message_type

CREATE TABLE `user_message_record` (
    `id` int(11) NOT NULL COMMENT '记录id',
    `uid` int(11) DEFAULT NULL COMMENT '用户id',
    `message_id` int(11) DEFAULT NULL COMMENT '消息id',
    `type_id` int(11) NOT NULL COMMENT '消息类型id',
    PRIMARY KEY (`id`),
    FOREIGN KEY (`type_id`) REFERENCES `user_message_type` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户发布消息记录';

记录用户发布数据的类型和消息id

假如一个用户发布了三种类型的消息,

如果是type_id为0,我希望是表user_message_record表和tenant_message表联合查询

如果是type_id为1,我希望是user_message_record表和marriage_message表联合查询

如果是type_id为2,我希望是user_message_record表和other_message表联合查询

请问如何写查询语句,按顺序进行查询

图片描述

阅读 1.8k
1 个回答

sql能动态拼接吗?不能的话好像写不了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题