Объединять и хранить несколько столбцов SQL программно - PullRequest
1 голос
/ 21 марта 2011

У меня есть несколько столбцов в БД доступа, я хочу объединить поля A, B, C и сохранить их в столбце D с разделителем-запятой между ними.D = A, B, C.

Сейчас я использую OleDbConnection, но я открыт для других методов.Как можно объединить и сохранить данные строки из нескольких столбцов SQL в один столбец?

Ответы [ 3 ]

3 голосов
/ 21 марта 2011

Предполагая простой случай строк, вы можете использовать оператор обновления:

Update table set D=A+','+B+','+C

Однако это может быть не очень хорошей идеей.Возможно, вы захотите экстраполировать вопрос «почему», поскольку вы можете сделать это, так как может быть лучший вариант.

2 голосов
/ 21 марта 2011

Я спрашиваю, почему вы хотите хранить эти значения A, B и C избыточно в другом столбце D. D может быть выражением поля, которое объединяет значения других полей по мере необходимости.

SELECT A & "," & B & "," & C AS D
FROM YourTable;

Если вы используете свой первоначальный подход (хранение объединенных значений в отдельном столбце, D), вам необходимо убедиться, что D обновляется при каждом изменении значений в A, B и / или C.При использовании запроса SELECT D всегда гарантированно точно отражает текущие значения в A, B и C ... без дополнительных усилий.

2 голосов
/ 21 марта 2011
INSERT INTO table (d) VALUES (SELECT a + "," + b + "," + c FROM table)

Многие предположения сделаны выше.

...