一个表中的字段根据另一个表的id显示另一个表的其他字段

表一结构:

ccpm_crm_customer

表二结构: 

sys_user

 

现在根据表一中 CREATED_BY,UPDATED_BY关联sys_user表user_id显示为username

sql:

SELECT
	`OBJECT_SID`,
	`CREATED`,
	`LEADER`,
	su1.username AS `CREATED_BY`,
	`UPDATED`,
	su2.username AS `UPDATED_BY`,
	`ORG_SID`,
	`IS_ACTIVE`,
	`LOCK_VERSION`,
	cc.`NAME` AS `NAME`,
	`CONTACT_SID`,
	`IS_TOP`,
	`PARENT_SID`,
	`IS_VIP` 
FROM
	(
	SELECT
		c.`OBJECT_SID`,
		c.`CREATED`,
		GROUP_CONCAT( su.username SEPARATOR ',' ) AS `LEADER`,
		c.`CREATED_BY`,
		c.`UPDATED`,
		c.`UPDATED_BY`,
		c.`ORG_SID`,
		c.`IS_ACTIVE`,
		c.`LOCK_VERSION`,
		c.`NAME` AS `NAME`,
		c.`CONTACT_SID`,
		c.`IS_TOP`,
		c.`PARENT_SID`,
		c.`IS_VIP` 
	FROM
		ccpm_crm_customer c
		LEFT JOIN ccpm_user_customer cu ON c.OBJECT_SID = cu.customerId
		LEFT JOIN sys_user su ON su.user_id = cu.uid 
	GROUP BY
		c.OBJECT_SID 
	) cc
	INNER JOIN sys_user su1 ON cc.CREATED_BY = su1.user_id
	INNER JOIN sys_user su2 ON cc.UPDATED_BY = su2.user_id

因为表一中两个字段关联表二id字段,所以要inner join两次

这种查询不能使用where判断条件

你可能感兴趣的:(一个表中的字段根据另一个表的id显示另一个表的其他字段)