2015-04-27 14 views
0

Учитывая, что this documentation, как я могу вернуть данные ниже в отдельные столбцы в результатах?Caché SQL: выберите сегменты строк как отдельные столбцы?

| id | text       | 
------------------------------------- 
| 01 | apple,green,ford,steve  | 
| 02 | orange,blue,chevy,paul  | 
| 03 | banana,purple,nissan,james | 

Я хотел бы результаты выглядеть следующим образом:

| fruit | color | car | name | 
-------------------------------- 
| apple | green | ford | steve | 
| orange | blue | chevy | paul | 
| banana | purple | nissan | james | 

Я не думаю, что переменные вариант (без команды SET в связанных документации). Моя конечная цель состояла бы в том, чтобы сделать что-то вроде SELECT DISTINCT car FROM (<parse statement here>), чтобы я мог перечислить все автомобили, или SELECT name FROM (<parse statement here>) WHERE fruit = 'apple' искать все имена с конкретными фруктами.

ответ

2

Это должно работать в кэш:

select * from (
    select $PIECE(text,',',1) fruit, 
     $PIECE(text,',',2) color, 
     $PIECE(text,',',3) car, 
     $PIECE(text,',',4) name 
    from mytable) 
where fruit = 'apple'; 
+0

быстрый, самый краткий ответ когда-либо. Спасибо!!! –