关联同一张表两次

select a.title from onethink_channel_partner a left join onethink_member b on a.manager=b.uid left join onethink_member c on a.account=c.uid
select * from onethink_channel_partner a left join onethink_member b on a.manager=b.uid left join onethink_member c on a.account=c.uid

select a.title,
b.real_name,
c.nickname
from onethink_channel_partner a
left outer join onethink_member b on (a.manager=b.uid)

left outer join onethink_member c on (a.account=c.uid);




数据表temp结构

-- Table "temp" DDL

CREATE TABLE `temp` (
  `page_id` bigint(20) DEFAULT NULL,
  `section_id` bigint(20) DEFAULT NULL,
  `visit_category_id` bigint(20) DEFAULT NULL,
  `cart_category_id` bigint(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
数据表category结构
-- Table "category" DDL

CREATE TABLE `category` (
  `category_id` bigint(20) DEFAULT NULL,
  `category_name` varchar(128) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
业务需求

关联temp表和category表,取出visit_category_id和cart_category_id对应的category_name

解决方案

select a.page_id,
a.section_id,
a.visit_category_id,
b.category_name,
a.cart_category_id,
c.category_name 
from temp a 
left outer join category b on (a.visit_category_id=b.category_id) 
left outer join category c on (a.cart_category_id=c.category_id);
查询结果


http://www.2cto.com/database/201501/368149.html

猜你喜欢

转载自blog.csdn.net/tft3640/article/details/51119827
今日推荐