三级分类,如果三级表中的字段为空(所属二级分类的主键twoID),那二级分类和一级分类中的数据就一起都读不出来,怎么办

qa1378723469 2016-07-18 04:05:58
SELECT
o.oneId,o.name onename,o.state onestate,o.way oneway,o.sorts onesorts,
tw.twoId,tw.name twoname,tw.state twostate,tw.sorts twosorts,tw.way twoway,
th.threeId,th.name threename,th.state threestate,th.sorts threesorts,th.way threeway
FROM barthreelevel th, bartwolevel tw ,baronelevel o
WHERE tw.twoId=th.twoId and tw.oneId=o.oneId;
就是三级菜单导航栏,如果第三级菜单的twoid为空,读出来的数据就为空,但是我任然要把第一级和第二级的菜单读出来,除非第三级菜单中有第二季菜单的主键的外键中有值,有没有更好的方式
...全文
157 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Abel_zz 2016-07-22
  • 打赏
  • 举报
回复
一般是如果3张表A,B,C,以A表为基础。则是 select * from a left join b on a.id=b.id left join c on a.id=c.id
达纳苏斯的夜 2016-07-20
  • 打赏
  • 举报
回复
一级表 left join 二级表 left join 三级表,如果没有数据会为空。你这种方法除非都有数据,不然会显示不出来。
达纳苏斯的夜 2016-07-20
  • 打赏
  • 举报
回复
用left jion
大头爱放假 2016-07-19
  • 打赏
  • 举报
回复
不是很明白,因为三级菜单如果没有二级菜单的id,数据库是无法知道三级菜单在哪个二级菜单中的。必须要有一个关联。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧