2016-08-13 3 views
0

У меня есть этот SQL-запрос:MySql внутреннее соединение с тем, где оператор

SELECT 
    mse_clients.Email 
FROM mse_clients 
INNER JOIN mse_users ON mse_clients.`Franchise ID` = mse_users.`franchiseid` 
WHERE mse_users.id = '9'; 

Который не возвращает ни одной строки, но он должен возвращать один.

SELECT * FROM mse_users WHERE id='9' 

возвращает 1 строку, как следует.

И если я отброшу то, где по первому запросу он возвращает все строки.

Почему это не работает. Нельзя ли использовать ГДЕ с внутренним соединением?

enter image description here

+1

Очевидно, что нет строки, которая удовлетворяет как ограничения. Отметим также, что 9 - целое число, а не строка. – Strawberry

+0

@Strawberry см. Изображение, которое я добавил. –

+0

И в том числе пробелы в идентификаторах таблицы/столбца просто просят проблемы – Strawberry

ответ

0

Использование где с внутренним соединением действительно возможно

может быть у вас есть и целочисленный идентификатор, а не строка так попробовать:

SELECT 
mse_clients.Email 
FROM mse_clients 
INNER JOIN mse_users ON mse_clients.`Franchise ID` = mse_users.`franchiseid` 
WHERE mse_users.id = 9; 
Смежные вопросы