У меня есть одна таблица с двумя идентификаторами столбцов и данными. Значения в таблице являются следующие:Значения разделяемых столбцов в postgres
id|data|
1 |A,B |
2 |B,C |
3 |C,D |
4 |D,A |
5 |E,C |
мне нужно число А, В, С, D, Е присутствует в таблице ниже. Пожалуйста, обратите внимание: столбцы являются динамическими средствами они зависят от значений в столбце данных из таблицы:
A|B|C|D|E|
2|2|3|2|1|
И я написал следующий запрос:
SELECT id,s.data
FROM my_table t,
unnest(string_to_array(t.data, ',')) s(data);
Выход задается следующим образом:
id|data|
1 | A |
1 | A |
1 | A |
1 | A |
1 | A |
1 | A |
1 | A |
1 | A |
Я полагаю, что мне не нужно упоминать, что вы, вероятно, должны перестроить свою схему таким образом, чтобы эта «гимнастика SQL» не была необходима :-) Если вы * когда-либо пытаетесь обрабатывать под-столбцы (части столбец), вы, вероятно, ошибаетесь. – paxdiablo
прекратить тратить время на это и исправить свои данные – e4c5
- 2 значения в столбцах данных фиксированы? –