2011-06-17 44 views
0

当我运行该SQL查询,它不应该显示的结果,如果ShopIDcompany是空如果数据为空,防止显示结果?

它返回null,因为member_id不能在Shop表中找到。

SELECT username, group_id, T.company, T.ShopID 
FROM members AS M 
LEFT JOIN Shop AS T ON T.member_id = M.member_id 
WHERE M.member_id =15 

这怎么解决?

回答

4

您可以使用RIGHT或INNER连接而不是LEFT连接。

左连接表示即使没有右手边,也会返回连接的左侧。 RIGHT JOIN表示即使没有左手边,也会返回加入的右侧。 INNER JOIN表示如果连接的两边都有记录,则只返回记录。

1

尝试

SELECT username, group_id, T.company, T.ShopID 
FROM members AS M 
LEFT JOIN Shop AS T ON T.member_id = M.member_id 
WHERE M.member_id =15 AND NOT (ShopID is null OR Company is null)