2017-01-26 2 views
0

У меня есть веб-приложение, в котором пользователи могут заполнять формы, а результаты регистрируются в базе данных MySQL. Вот DB: USERS(id,name,email,extras)Выберите, если отличается от строки sql

Если пользователи используют форму №1, идентификатор, имя и адрес электронной почты заполняются в БД. Если пользователи используют форму № 2, идентификаторы и дополнительные данные заполняются в БД.

Поэтому у меня есть таблица, как:

1 | John  | [email protected]  | 

2 | Johnny | [email protected] | 

3 | undefined | undefined   | "name: Dumbo, email: [email protected]" 

Я хотел бы, чтобы извлечь имя и адрес электронной почты из всех строк, где дополнительные услуги пусты: этот запрос в порядке. Я хотел бы извлечь дополнительные данные из строк, где имя и адрес электронной почты не определены. И объедините эти запросы.

Как я могу это сделать?

Спасибо.

+0

Что вы подразумеваете под "undefined"? Ноль? –

+0

Нет, строка «undefined» написана –

ответ

0
SELECT * FROM USERS 
WHERE COALESCE(extras) = '' OR 
(name = 'undefined' AND email = 'undefined'); 
+0

Хорошо спасибо. Можно ли выбрать только дополнительные функции, когда электронная почта и имя = 'undefined'? И выберите только имя, адрес электронной почты, когда дополнительные функции пустые. –

+0

Они должны быть разными SELECT, так как вы запрашиваете разные столбцы в одном SELECT. –

+0

Хорошо спасибо за ваш совет, я попробую что-то по вашему запросу –

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