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' найти все названия с определенным фруктом.


person JOATMON    schedule 27.04.2015    source источник


Ответы (1)


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

select * from (
    select $PIECE(text,',',1) fruit,
        $PIECE(text,',',2) color,
        $PIECE(text,',',3) car,
        $PIECE(text,',',4) name
    from mytable)
where fruit = 'apple';
person Steve Mandl    schedule 27.04.2015