#mysql #sql
#mysql #sql
Вопрос:
Я вставляю текстовую строку в свою базу данных MySQL.
Пример текстовой строки: [1,0,1]
Позиции в строке представляют valueOne, valueTwo , valueThree .
Я хочу, чтобы мой запрос обнаруживал ноль и единицы в текстовой строке и выводил другую строку, связанную со значениями нуля и единиц, например:
Select quiz_answer from quizes
WHERE
IF valueOne > 0 THEN
result = pie;
IF valueTwo > 0 THEN
result = cookies;
IF valueThree >0 THEN
result = fruit;
Ответ №1:
if
совершенно не нужно (и, как написано, синтаксически неверно). Просто используйте логическую логику:
select quiz_answer
from quizes
where (valueOne > 0 and result = pie) or
(valueTwo > 0 and result = cookies) or
(valueThree > 0 and result = fruit);
Обратите внимание, что если pie
, cookies
, и fruit
предназначены для строк, они должны быть заключены в одинарные кавычки.
Комментарии:
1. Я не получаю никаких результатов. Чтобы уточнить, текстовая строка в моем поле db выглядит следующим образом: [1,1,0,0,0,1,0,0,0,0] (включая скобки).
2. Это не работает с или без бита, который я добавил в конце: И question_id=79
3. выберите answer_data из wp_learndash_pro_quiz_statistic, где ( valueOne > 0 и результат = ‘pie’ ) или (valueTwo> 0 и результат = ‘cookies’) или (valueThree> 0 и результат = ‘fruit’) или (valueFour> 0 и результат = ‘pie’ ) или (valueFive> 0 и результат =’cookies’ ) ГДЕ question_id = 79
4. На самом деле у меня есть «И question_id=79, а не ГДЕ question_id=79
5. @phillystyle123 . . . Я понятия не имею, к чему относится ваш вопрос. Это отвечает на вопрос, который на самом деле был задан.