Не могу написать запрос с IF - MySQL
Формулировка задачи:
добрый день! подскажите пожалуйста, мне нужно произвести запрос и выбрать нужные строки, если значение столбца из другой таблицы (не из той, в которой я делаю SELECT) равно к примеру "img1".
Вот мой запрос, но он выдаёт ошибку SQL(1064) По синтаксису.
SELECT IF(keywords.K_VALUE = `img1`) object.o_id, object.o_date, object.o_name,
object.o_description, object.mt_id,
mime_type.mt_value FROM object
LEFT JOIN mime_type ON object.mt_id = mime_type.mt_idРешение задачи: «Не могу написать запрос с IF»
textual
Листинг программы
SELECT object.o_id, object.o_date, object.o_name, object.o_description, object.mt_id, mime_type.mt_value FROM object LEFT JOIN mime_type ON object.mt_id = mime_type.mt_id INNER JOIN keywords ON object.o_id = keywords.o_id WHERE keywords.K_VALUE = ?
Объяснение кода листинга программы
В представленном SQL-запросе выбираются следующие поля из таблицы object: o_id, o_date, o_name, o_description, mt_id. Также происходит объединение таблиц object и mime_type по полю mt_id, а затем объединение результатов с таблицей keywords по полю o_id. Окончательный результат фильтруется с помощью оператора WHERE, где keywords.K_VALUE должен быть равен заданному значению.
Вот список элементов, выделенных кавычками, с их названиями и значениями:
object.o_id- идентификатор объектаobject.o_date- дата создания объектаobject.o_name- имя объектаobject.o_description- описание объектаobject.mt_id- идентификатор типа объектаmime_type.mt_value- значение типа объектаkeywords.o_id- идентификатор объекта-ключевого словаkeywords.K_VALUE- значение ключевого слова Значение, которое должно быть равно заданному значению?, является строкой, которая соответствует значению ключевого слова.