向此mysql查询添加联接
上面的查询非常有效,但我想添加一个连接以获取额外信息 我想添加此连接,但无法使其正常工作。我一定是插错地方了向此mysql查询添加联接,mysql,join,Mysql,Join,上面的查询非常有效,但我想添加一个连接以获取额外信息 我想添加此连接,但无法使其正常工作。我一定是插错地方了 SELECT t1.* FROM HOSTS AS t1 WHERE t1.BOSS = 'BRUCE' OR ( t1.BOSS_TYPE = 'manager' AND t1.BOSS_ID = 'BRUCE' ) OR t1.BOSS IN ( SELECT t2.STORES FROM FOLLOW_STORES AS t2 WHERE t2.BOSSES = 'BRU
SELECT t1.* FROM HOSTS AS t1
WHERE
t1.BOSS = 'BRUCE'
OR ( t1.BOSS_TYPE = 'manager'
AND t1.BOSS_ID = 'BRUCE' )
OR t1.BOSS IN ( SELECT t2.STORES FROM
FOLLOW_STORES AS t2
WHERE t2.BOSSES = 'BRUCE' )
添加联接的正确方法是什么?要获得此额外信息,您需要在主机的
之后和WHERE
之前添加join
子句
JOIN MANAGER_POSTS AS t3 ON ( t1.POSTER_ID = t3.POSTER_ID
AND t1.SUBMISSION_TYPE = 'post' )
试试这个:
SELECT t1.*
FROM HOSTS AS t1
INNER JOIN MANAGER_POSTS AS t3
ON ( t1.POSTER_ID = t3.POSTER_ID
AND t1.SUBMISSION_TYPE = 'post' )
WHERE t1.BOSS = 'BRUCE'
OR ( t1.BOSS_TYPE = 'manager'
AND t1.BOSS_ID = 'BRUCE' )
OR t1.BOSS IN ( SELECT t2.STORES
FROM FOLLOW_STORES AS t2
WHERE t2.BOSSES = 'BRUCE' )
JOIN通常在WHERE之前。请发布您正在使用的完整查询。谢谢您的工作,发布该查询,以便我可以接受您的答案!
SELECT t1.* , t3.*
FROM HOSTS AS t1
INNER JOIN MANAGER_POSTS AS t3
ON ( t1.POSTER_ID = t3.POSTER_ID AND
t1.SUBMISSION_TYPE = 'post' )
WHERE t1.BOSS = 'BRUCE'
OR (t1.BOSS_TYPE = 'manager' AND t1.BOSS_ID = 'BRUCE' )
OR t1.BOSS IN (
SELECT t2.STORES
FROM FOLLOW_STORES AS t2
WHERE t2.BOSSES = 'BRUCE'
)