2016-10-12 7 views
-2

У меня есть таблица со столбцом, содержащим контент, такой как Driver || Helper || Garden. Я хочу экспортировать эту таблицу в новую систему, где у меня есть разные столбцы для каждого пользовательского навыка (как и должно быть).SQL-запрос с одним столбцом и несколькими LIKEs

Вопрос: Как получить такую ​​информацию в хорошем SQL-экспорте.

SELECT user_id, driver, helper, garden FROM `ujc72_comprofiler` WHERE cb_erfahrungen LIKE "%Driver%" 

Дает мне пользователей с определенным навыком, но я хочу несколько столбцов для одного пользователя для моего экспорта.

+0

FYI: _ "где у меня есть разные столбцы для каждого пользователя. Умение" _ не есть _ ", как должно быть" _; то, что должно быть, это, скорее всего, отдельная таблица с примерно двумя столбцами, одна из которых ссылается на пользователя и другое листинг (или ссылается) на умение, которое имеет пользователь; каждая запись пользователя имеет _0 до many_ записей в этой таблице 'user_skills'. ... хотя отдельные столбцы все же являются шагом вперед от того, что вы, по-видимому, сейчас имеете. – Uueerdo

+0

Это одна ужасная звуковая схема – Drew

+0

Что является структурой ujc72_comprofiler? Где находится cb_erfahrungen? –

ответ

1

Вам необходимо разделить строку. Таким образом, он разделит Driver | Helper | Garden на разделение столбцов Driver, Helper и Garder.

Эта функция отсутствует в mysql. Вы должны создать его самостоятельно. Проверить эту ссылку: https://blog.fedecarg.com/2009/02/22/mysql-split-string-function/


Кроме того, вы можете работать с SUBSTRING_INDEX функции:

mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2); 
     -> 'www.mysql' 
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2); 
     -> 'mysql.com' 
0

Просто используйте этот запрос: select column_name, column_name, column_name from table_name where column_name like '%driver%'. Я думаю, это то, что вы ищете.

0

Вы найти это трудно в SQL, поскольку список выборки столбцов должны быть зафиксированы на момент подготовьте запрос. Нет функции SQL, которая позволяет автоматически расширять количество столбцов в наборе результатов, чтобы они соответствовали шаблонам, найденным в ваших данных.

Так что не пытайтесь делать это с помощью SQL. Напишите сценарий для запуска простого SQL-запроса, затем разделите строку в коде скрипта.

Практически любой язык имеет функцию, позволяющую легко разбить строку на массив.

Используйте подходящий инструмент для работы.