2016-12-02 3 views
0

Я знаю, как конкатенировать все столбцы, но я изо всех сил пытаюсь конкатенировать только ее часть. SQL теперь выглядит так:MySQL concat просто часть инструкции

SELECT col1, col2, col3, col4, col5 FROM db WHERE id = 1 

Я хочу поля CONCAT col3 и col4. Попробовали несколько подходов, но ничего не работает, как это работает

SELECT col1, col2, CONCAT(col3, col4), col5 FROM db WHERE id = 1 

Любые советы о том, как это сделать?

UPDATE

Как оказалось, это может быть достигнуто таким образом. Не знаю, что я сделал неправильно. Спасибо всем за отзывы!

+2

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

+2

Или даже сообщение об ошибке? Как вы смотрите на результат> Используете ли вы PHP или какой-либо код для просмотра результата или что-то вроде phpMyAdmin – RiggsFolly

+1

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

ответ

1

Проблема не concat(), Вы пропустили from пункт

SELECT col1, col2, CONCAT(col3, col4), col5 
FROM my_table 
WHERE id = 1 
+0

Я забыл предложение FROM в примере, мое плохое. Но это не проблема. Спасибо за ваш отзыв! – ChrVik

+0

С этим sintax часть запроса должна работать. Но вы должны обновить свой вопрос, добавив связанный с ним код. Возможно, проблема заключается не в запросе, а в контексте, в котором выполняется запрос. – scaisEdge

0

Использование CONCAT_WS вместо CONCAT. первый аргумент ist - разделитель.

образец

SELECT 
    CONCAT_WS('',NULL,'Hello',' ','world'); 

результат

Hello world