Задать вопрос

Почему не срабатывает INNER JOIN?

Добрый день.
Есть две таблицы - А и В. Я пытаюсь вывести все записи из таблиц А и В, у которых выполнится условие A.id = B.id и A.id_order равен определенному значению. Написал для этого такой запрос:
SELECT A.id, B.price 
                  FROM `table_A` as A
                  INNER JOIN `table_B` as B ON A.id = B.id
                  WHERE A.id_order = 100

По логике все должно работать, но почему-то не работает, и я не могу понять, почему. Не выводится ни одна строка. Убрать WHERE - строк будет слишком много. Поскольку INNER JOIN требует нахождения обеих полей из ON в таблицах, перенести условие из WHERE в ON нельзя. Значение в условии WHERE верное.
В каком месте я мог допустить ошибку?

Буду благодарен за ответы, спасибо.
  • Вопрос задан
  • 894 просмотра
Подписаться 2 Оценить 1 комментарий
Решение пользователя Владимир К ответам на вопрос (3)
напишите так
SELECT A.id, B.price 
                  FROM `table_A` as A
                  LEFT JOIN `table_B` as B ON A.id = B.id
                  WHERE A.id_order = 100

у увидите что в table_B нет строки соотвтетсвующей A.id при A.id_order = 100
Ответ написан
Комментировать