2012-02-10 2 views
1

Я использую Postgres, и я хотел бы знать, как изменить информацию о строке в запросе. Предположим, у меня есть столбец с именем Numbers, и у него есть строки, идущие 1,2,3,4,5, как я могу редактировать информацию в этих строках? скажем, я хочу, чтобы запрос отображал 1,1,1,1,5, как бы я написал в запросе, что каждая строка должна быть изменена на 1, если она не равна 5? Опять же, чтобы изменить его в запросе, я не пытаюсь сделать UPDATE. Я понимаю, как это выглядит с моей стороны, но я не мог найти это в Google.Как изменить информацию о строках в запросе?

+0

Я собираюсь сделать мой сценарий более реалистичным, это выглядит следующим образом: Цифры, буквы, символы <- скажем, те три колонки, и я Выбор их в мой запрос, но я просто хочу изменить цифры. – user519753

+0

Очевидно, что '6' будет преобразован в' 1', но как насчет '10' и сколько строк выбрано? Какую большую проблему вы пытаетесь решить, что вы пытаетесь это сделать - могут быть лучшие способы поиска решения. –

+0

Этот сценарий немного сложный, но в основном у меня есть вид, который выглядит так: столбцы: 'VehicleID, самолеты, автомобили, лодки' Awright теперь мой запрос должен выбрать« Автомобили и лодки », так что это будет выглядеть это. 'SELECT, Автомобили, Boats' , но вот то, что мне нужно сделать, строки колонки автомобили выглядит следующим образом: ** Красный Синий Желтый ** Я хочу, чтобы загрузить как все красным, если они не являются синий поэтому он должен выглядеть так: ** Красный синий красный ** Как я могу использовать 'CASE', если я выбираю 2 столбца? похоже, что 'CASE' работает только при выборе только столбца, который я хочу изменить. Справка будет принята с благодарностью – user519753

ответ

2
SELECT 
    CASE WHEN Numbers <> 5 THEN 1 ELSE Numbers END 
FROM table 

См 9.12. Conditional Expressions

+0

ОШИБКА: синтаксическая ошибка в или около "CASE" в символе 238 Я не уверен, что это потому, что я выбираю несколько столбцов одновременно, я пытаюсь изменить этот столбец. – user519753

+0

Получил, спасибо. Я был просто глупым и забыл включить «,» в оператор select. – user519753

Смежные вопросы