2015-07-31 4 views
0

Я работаю над сайтом рекламы.MySql SELECT с оператором if и оператором LIKE

У меня есть один стол со столбцом на каждый день. Мне нужно проверить таблицу, в которой объявления сохраняются по умолчанию, чтобы обновлять только те объявления.

Я пробовал это, но он не работает.

SELECT Monday if (Monday LIKE '%default%'), 
Tuesday if (Tuesday LIKE '%default%') 
FROM `Ad_Relationshp` 

MySql дает мне эту ошибку: # 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'if (понедельник LIKE'% default% ') FROM Ad_Relationshp LIMIT 0,' в строке 1. Я попытался изменить синтаксис на все, что я могу придумать , но я все равно получаю ту же ошибку.

+1

Каков ожидаемый результат? – Wanderer

+0

Показать только те столбцы, в которых есть «по умолчанию» –

+0

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

ответ

1

Вы используете условное ветвление if, которое возможно только в процедурах и триггерах, используйте функцию if.

SELECT if (`Monday` LIKE '%default%',`Monday`,''), 
if (`Tuesday` LIKE '%default%',`Tuesday`,'') 
FROM `Ad_Relationshp` 


SELECT `Monday`,`Tuesday` 
FROM `Ad_Relationshp` 
WHERE `Monday` LIKE '%default%' 
OR `Tuesday` LIKE '%default%' 
+0

Привет, Михай. Благодарю. Я почти там. Поле содержит путь к изображению, сохраненному в каталоге на сервере. Ваш SELECT работает и дает мне результат, но вместо того, чтобы показывать мне путь, он показывает «Понедельник» –

+0

@Anoniem Я отредактировал его, предполагая, что путь - это столбец, замените путь на имя вашего столбца, где путь сохранен – Mihai

+0

Если это не так, t содержит «default», он показывает имя столбца без пути. Это нормально. Есть ли способ исключить столбец из результата, если «default» не находится в содержимом столбца? –

Смежные вопросы