У меня две базы данных, я присоединяюсь к ним следующим образом:
select *
from business,activity
where business.primary_activity_id = activity.id;
Однако я хотел бы выбрать из этого объединенного запроса строки, в которых идентификатор (который был импортирован из таблицы активности) начинается с "01."
Я пробовал этот запрос:
select *
from business,activity
where business.primary_activity_id = activity.id
and identifier like "01.";
Ну, это не сработало. Пустой запрос.
Проверено вручную таблицу, и есть строки, где идентификатор начинается с "01." Может ли кто-нибудь просветить мое путешествие?
Хотя @anonyXmous ответил как комментарий, я хочу добавить еще несколько вещей.
Во-первых, символ подстановки для LIKE
равен %
чтобы соответствовать подстроке любой длины, включая нулевую длину. Подстановочный знак для одного символа - символ подчеркивания ('_'
).
Во-вторых, вы не должны использовать запятые в предложении from
. Научитесь использовать правильный, явный синтаксис JOIN
. Никогда не используйте запятые в предложении FROM
.
В-третьих, псевдонимы таблиц облегчают запись и чтение запроса. И затем используйте их для определения всех имен столбцов.
В-четвертых, используйте одинарные кавычки для строковых констант. Так:
select b.*, a.*
from business b join
activity a
on b.primary_activity_id = a.id
where a.identifier like '01.%';