开发者社区> 问答> 正文

sql查询时动态更换连接表

先上我的表结构

screenshot
当type == 1时,course_id关联的时t_course_info 这张表

当type == 2时,course_id关联的是t_venue_course_info这张表

所以现在,我在查询的时候,如何才能根据type来判断关联哪张表呢?而且查询的时候会对关联表的数据进行筛选。

求大家帮忙!

展开
收起
小旋风柴进 2016-03-11 16:26:44 2867 0
1 条回答
写回答
取消 提交回答
  • 专注于数据存储系统、MySQL源码研究和改进、MySQL性能优化和功能改进,并设计了阿里云高可靠双通道binlog方案。他在业务场景分析、系统瓶颈分析、性能优化方面拥有丰富的经验。微博@淘宝丁奇。

    这个比较简单的是用存储函数来实现。

    http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html

    另外,从您这个描述中,隐约感觉表结构设计不合理。
    既然可以用type来区分不同的course类型,是否也可以按照类似的设计,将t_course_info 和 t_venue_course_info 放到一起,用类型来区分?这样上面的join问题也解决了。
    只是常规建议,具体是否可行还是需要视项目情况。

    2019-07-17 18:59:33
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载