2013-04-25 1 views
2

Я пытаюсь вернуть значение true или false (или yes/no и т. Д.) Как часть выбора, если определенное поле в таблице содержит подстроку.return true или false в подзапросе mysql, если другое поле содержит строку

  1. Выберите идентификатор, имя и номер подписчика.
  2. Поле под названием emailList имеет список имен, разделенных запятыми, которые должны использоваться для проверки того, подписан ли запросчик. Результатом поиска подстроки должно быть значение true/false в качестве результата в другом поле.

Основной запрос будет выглядеть следующим образом:

SELECT 
    id,<...>,name 
FROM 
    table 

В < ...> область, я хотел бы кое-что эквивалентно:

`emailList` contains @input ? "Yes" : "No" 

Я не могу понять, как это сделать, чтобы спасти мою жизнь. Я предполагаю, что это можно сделать другими способами, но это похоже на хорошую возможность обучения. Какие-либо предложения?

ответ

8

Использование IF():

SELECT 
    id, 
    IF(emailList LIKE '%string%', 'Yes', 'No') AS OnEmailList, 
    name 
FROM 
    table 

Просто замените слово «строка» с термином поиска вы ищете или переменной на стороне сервера язык программирования выбора.

+0

Duh! Благодарю. Клянусь, я искал все, кроме самой очевидной конструкции программирования, когда-либо созданной. – Anthony

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