四川码匠
2016-06-13 12:40
采纳率: 5.9%
浏览 1.9k

mysql中外键查询,求sql语句

一张一级菜单表,一张二级菜单表,外键在二级菜单表字段fid
请问如何在查到所有一级菜单的同时,得到对应的二级菜单,江湖救急,大家帮帮我这个菜鸟学生(老师不准我们用框架,用jdbc我也是醉了,我sql学的不是很好)

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • yicp123 2016-06-13 13:20

    用多表关联查询,大致逻辑是这样:

    select t1.tname,t2.tname
    from table1 t1 inner join table2 t2 on t1.tid=t2.fid;

    具体还得根据这两表的实际情况而定。

    参考自:
    mysql join语法及优化 http://www.data.5helpyou.com/article209.html

    评论
    解决 无用
    打赏 举报
  • 苍茫行者 2016-06-30 13:04

    简单处理
    假设从数据库返回的是List> sqlResult,使用是一个Map> retList,迭代sqlResult,将key(一级菜单)
    放到retList的key中,value(一级菜单对应的二级菜单)放到List

    评论
    解决 无用
    打赏 举报
  • 就这样干 2016-07-01 02:41

    使用函数start with connect by prior

    评论
    解决 无用
    打赏 举报
  • zhanglixin_1984 2016-07-08 00:58

    应该使用多表联查 有的一级菜单可能没有对应的二级菜单 需要采用left join
    select t1.需要的属性, t2.需要的属性 from 一级表 t1 left join 二级表 t2 on t1.id=t2.pid

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题