Условие отбора по присоединенному полю
Здравствуйте.
Имеется две таблицы:
CREATE TABLE `Перечисление_Булево` (
`Код` INT(1) UNSIGNED NOT NULL COMMENT 'Числовое представление',
`Наименование` VARCHAR(3) NOT NULL COMMENT 'Булево значение',
PRIMARY KEY (`Код`),
UNIQUE INDEX `Наименование` (`Наименование`)
);
Содержит два значения:
0 - Нет
1 - Да
CREATE TABLE `Справочник_Валюты` (
`Код` INT(3) UNSIGNED NOT NULL COMMENT 'Код валюты',
`Наименование` VARCHAR(25) NOT NULL COMMENT 'Наименование валюты',
`Обозначение` VARCHAR(10) NOT NULL COMMENT 'Обозначение валюты',
`Загрузка` INT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Автоматическая загрузка курсов при старте системы',
PRIMARY KEY (`Код`),
INDEX `FK_Справочник_Валюты_Перечисление_Булево` (`Загрузка`),
CONSTRAINT `FK_Справочник_Валюты_Перечисление_Булево` FOREIGN KEY (`Загрузка`) REFERENCES `Перечисление_Булево` (`Код`)
);
Подскажите, пожалуйста, почему в запросе с соединением:
SELECT Справочник_Валюты.Код AS Код,
Справочник_Валюты.Наименование AS Наименование,
Перечисление_Булево.Наименование AS Загрузка
FROM Справочник_Валюты
LEFT JOIN Перечисление_Булево ON Перечисление_Булево.Код = Справочник_Валюты.Загрузка
WHERE Загрузка = 'Да';
Не работает WHERE, сообщая, что тип столбца Загрузка - число?
Можно ли как-то исправить запрос так, чтобы в условии WHERE осталось текстовое значение 'Да', а столбец `Загрузка` был строкового типа (такого же, как столбец Наименование таблицы Перечисление_Булево?