Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как составить SQL запрос [D5, D6, MSSQL]


AndrewK ©   (2002-02-15 14:20:00) 

Подскажите пожалуйста как можно составить запрос, который выводит записи следующего вида.

Есть таблиц

ID Order WasPayed WasLoaded
1 Name1 0 0
2 Name2 1 1
3 Name3 0 0
4 Name4 1 0


Поля WasPayed хранит информацию об оплате заказа (0 - не оплачено, 1 - оплачено), аналогично поле WasLoaded хранит информацию об огрузках.

Как с помощью SQL запроса можно получить набор с заменой 0 и 1 на соответствуюшие слова. Например:

ID Order WasPayed WasLoaded
1 Name1 Не оплачено Не отгружено
2 Name2 Оплачено Отгружено
...


Севостьянов Игорь   (2002-02-17 22:42:00) [1]

Ответ зависит от СУБД
ответ же от Johnmen в принципе универсален


Dragon21   (2002-02-17 12:01:00) [2]

Не совсем уверен, что будет работать на MSSQL проверить не где, но на Oracle работает. Я думаю что на крайний случай должна быть похожая функция и в MSSQL.

SELECT ID, ORDER, DECODE (WasPayed,"0","Не оплаченно","Оплаченно"),DECODE (WasLoaded,"0","Не отгруженно","Отгруженно") FROM Table1


Fay   (2002-02-17 03:17:00) [3]

SELECT
[ID],
[ORDER],
[WasPayed] = CASE WasPayed WHEN 0 THEN "Не оплачено" ELSE "Оплачено" END,
[WasLoaded] = CASE WasLoaded WHEN 0 THEN "Не отгружено" ELSE "отгружено" END
FROM [Твоя Таблица]
WHERE [Где мои $100] = [Где мои $100]


AndrewK   (2002-02-15 14:43:00) [4]

Что этот вопрос того стоит?


Johnmen   (2002-02-15 14:43:00) [5]

SELECT ID,Order,"Не оплачено" AS WasPayed,"Не отгружено" AS WasLoaded WHERE (WasPayed=0) and (WasLoaded=0)
UNION
SELECT ID,Order,"Оплачено " AS WasPayed,"Отгружено " AS WasLoaded WHERE (WasPayed=1) and (WasLoaded=1)
UNION
SELECT ID,Order,"Не оплачено" AS WasPayed,"Отгружено " AS WasLoaded WHERE (WasPayed=0) and (WasLoaded=1)
UNION
SELECT ID,Order,"Оплачено " AS WasPayed,"Не отгружено" AS WasLoaded WHERE (WasPayed=1) and (WasLoaded=0)


Дима566   (2002-02-15 14:23:00) [6]

$100


Наверх

Титульная страница Поиск, карта сайта Написать письмо