Предотвратить показ результата, если данные равны нулю? - PullRequest
0 голосов
/ 17 июня 2011

Когда я запускаю этот SQL-запрос, он не должен показывать результат, если ShopID, company равен нулю

Возвращен ноль, потому что 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

Как это можно решить?

Ответы [ 2 ]

4 голосов
/ 17 июня 2011

Вы можете использовать соединение RIGHT или INNER вместо соединения LEFT.

LEFT JOIN означает возврат левой части объединения, даже если правая сторона отсутствует.RIGHT JOIN означает возврат правой части объединения, даже если левой стороны нет.ВНУТРЕННЕЕ СОЕДИНЕНИЕ означает возвращать запись, только если обе стороны объединения имеют запись.

1 голос
/ 17 июня 2011

Попробуйте

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...