zoukankan      html  css  js  c++  java
  • Thinkphp 联表查询 表名要全名

    我有2个表 表1.


    表2


    已知表2的user_id 查询满足 表2.wb_id=表1.id 表1的内容
    阿里云
    最佳答案
    i 2013年11月15日

    1. $result = M()->table(array('表1'=>'表1缩写','表2'=>'表2缩写'))->field('表1缩写.字段1,表2缩写.字段2')->where('表2.wb_id=表1.id')->select()

    复制代码

    可以这样select里可以传false, 这样$result会输出sql语句, 可以清晰看到
    如果字段都取出来,可以不用表别名..
    评论(5) 相关
    君鸿2014年09月10日

    1. $result = M()->table(array('表1'=>'表1缩写','表2'=>'表2缩写'))->field('表1缩写.字段1,表2缩写.字段2')->where('表2缩写.wb_id=表1缩写.id')->select()

    复制代码
    复制代码
    复制代码
    adocode.com2014年05月27日
    不错,给个赞
    i2013年11月15日

    1. $result = M()->table(array('表1'=>'表1缩写','表2'=>'表2缩写'))->field('表1缩写.字段1,表2缩写.字段2')->where('表2.wb_id=表1.id')->select()

    复制代码
    复制代码
    复制代码

    可以这样select里可以传false, 这样$result会输出sql语句, 可以清晰看到
    如果字段都取出来,可以不用表别名..
    回复i2013年11月15日
    推荐用join组合语句,楼上已经写的很明白了
    回复1108942013年11月15日
    但是首先要查询出表2的 wb_id 啊 要查询2次啊
    回复i2013年11月15日
    回复 110894 : 如果先知道表2的wb_id, 再2表一起, 好像就得查2回吧, 木思路, 等大神们来指点.
    回复1108942013年11月16日
    真的太感谢你了 亲
    回复小学生来了2014年12月31日
    非常不错的啊,亲!!!
    ⊿Remix.2013年11月15日
    用join链接 就可以。表2wb_id做表1的外键,进行表链接。查一下手册就有的。
    JOIN
    join 用于数据库的join查询支持
    用法 join($join)
    参数 join(必须):join操作,支持字符串和数组
    返回值 当前模型实例
    备注 join方法支持多次调用
    使用示例:
    $Model->join(' work ON artist.id = work.artist_id')->join('card ON artist.card_id = card.id')->select();
    默认采用LEFT JOIN 方式,如果需要用其他的JOIN方式,可以改成
    $Model->join('RIGHT JOIN work ON artist.id = work.artist_id')->select();
    如果join方法的参数用数组的话,只能使用一次join方法,并且不能和字符串方式混合使用。
    例如:
    join(array(' work ON artist.id = work.artist_id','card ON artist.card_id = card.id'))
    1108942013年11月15日
    求大家帮忙看下啊
  • 相关阅读:
    Linux更改文件文件夹所属用户组(chgrp)
    Linux服务器查看请求数
    装Office 2010提示Error 1406的解决方法
    实时数据库简介和比较
    敏捷软件开发模型SCRUM【转】
    实时数据库系统
    实时数据库的事务处理
    各浏览器下使用 OBJECT 元素和 EMBED 元素嵌入 Flash 存在差异
    中国煤矿历年事故死亡人数及分析
    实时/历史数据库和关系型数据库的区别
  • 原文地址:https://www.cnblogs.com/caicaizi/p/5213162.html
Copyright © 2011-2022 走看看