联表查询,一个表的两个字段是另一个表的一个字段的值,如何去查
2017-04-07 17:05
113 查看
实际情况如下:
订单表orderid里保存的买家卖家都只是对应的用户表user里的ID,一开始的时候只是想到联表查询,拿到卖家或买家的名字,然后在用foreach查出另外一个对应的值,这样的效率太低,制造的垃圾代码也多.
如果要一次查出卖家和买家的名字,连接查询时,可以用订单表连接查询用户表两次,sql语句如下,其中hy_orderid是订单表,hy_user是用户表
select o.*,u1.nick as buyer,u2.nick as seller from hy_orderid as o LEFT JOIN hy_user as u1 ON o.uid=u1.id LEFT JOIN hy_user as u2 ON o.shid=u2.id
订单表orderid里保存的买家卖家都只是对应的用户表user里的ID,一开始的时候只是想到联表查询,拿到卖家或买家的名字,然后在用foreach查出另外一个对应的值,这样的效率太低,制造的垃圾代码也多.
如果要一次查出卖家和买家的名字,连接查询时,可以用订单表连接查询用户表两次,sql语句如下,其中hy_orderid是订单表,hy_user是用户表
select o.*,u1.nick as buyer,u2.nick as seller from hy_orderid as o LEFT JOIN hy_user as u1 ON o.uid=u1.id LEFT JOIN hy_user as u2 ON o.shid=u2.id
相关文章推荐
- 同表两个字段二选一查询mysql中如何判断某一个字段是否存在某一个值
- 两个表中多个字段相同,查询一个中有在另一个表中没有的数据
- 在 sql查询中如何将两个字段显示在一个字段
- 表A中一条记录的两个字段都对应于表B的同一个字段 如何查询?SQL, thinkphp[5]
- javascript操作两个选择列表(有两个列表,如何实现在一个列表通过双击和多选列表中内容添加到另一个列表. )
- 如何查询一个数据库表中某字段相同记录的数据
- 查询一个表中的两个字段值相同的数据
- 如何把一个表中的部分字段值插入到另一个表中去
- 在使用Hibernate时,因为一个查询需要更多的表连接而要使用SQL来解决性能问题。然而返回的结果集中包含了没有映射的Entity类中的表字段,在这个SQL中还有使用如何将层次关系的父子结点显示为横行
- 转载:如何写个SQL语句查询一个字段里是否有重复记录如果有只读取其中一条记录
- 查询一个表中所有id字段在另一个表中对应值的SQL语句怎么写?
- 如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。其中内存只有1G。
- 如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。其中内存只有1G。
- 一个student表有姓名和成绩两个字段。查询某个学生的姓名和成绩以及排名。
- 如果一个字段为两个不同字段的查询方法
- sql中,将同一个表中两个类型一样的字段的值互换 以及 将同一个表中的一个字段的值复制给另一个字段
- 如何把个表的合计字段 合并SQL查询到一个结果集中
- 一个表的两个字段关联另一个表的一个字段
- SQL——两个表之间的更新:用一个表的字段更新另一个表的字段
- 一个表有两个外键指向另一个表的主键:如何区分显示