用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5528|回复: 8
收起左侧

[已解决] 怎么查询关联的两张表

[复制链接]
发表于 2010-7-1 11:03:54 | 显示全部楼层 |阅读模式
本帖最后由 zhanglei_0202 于 2010-7-2 10:02 编辑

无论php还是CI都是菜鸟,刚开始学程序,问一个可能比较弱的问题大家见谅
发表于 2010-7-2 08:48:47 | 显示全部楼层
SQL复制代码
SELECT a.*,b.* FROM `table1` a LEFT JOIN `table2` b ON a.id=b.typeid [,WHERE a.id=$num];
复制代码

这个是关联两tabel1和table2,关联字段是table1.id=table2.typeid,这就像有两个表:articles,category,articles表中有一个字段是categoryId,标记文章类型的,categoryId就是category表的id,然后可以通过上述的join来联结。这里面categoryId也可以设置为一个外键,那样可以保证categoryId数据都是属于category表中id数据组成的集合。不过似乎myisam表不支持外键
 楼主| 发表于 2010-7-2 10:01:58 | 显示全部楼层
回复 2# songah


   谢谢,你这个太详细了!~我看的非常明白!~以前也看过一些关联的,但是不太明白
但是看完你写的我非常明白!~十分感谢
发表于 2010-7-2 14:55:42 | 显示全部楼层
如果这样
建议先看看数据库基础(实话)
 楼主| 发表于 2010-7-3 16:53:11 | 显示全部楼层
回复 4# redtamo


    刚学今天好多东西都不懂,看数据库基础了,就是没看懂
十分菜的菜鸟
发表于 2010-7-6 13:00:23 | 显示全部楼层
这个应该在数据库概论之类的课程中学过。
发表于 2010-7-8 10:37:21 | 显示全部楼层
用CI的话,在帮助文档1.7.2 中搜索join,定位到$this->db->join();
会看的很清楚
发表于 2010-7-8 11:52:46 | 显示全部楼层
使用mysql的视图也可以解决这个问题
发表于 2010-7-19 17:48:03 | 显示全部楼层
回复 8# thfei1982


    不知道视图和join哪个效率高一点?

本版积分规则