Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];




Вниз

Как составить SQL запрос 


AndrewK   (2002-02-15 14:20) [0]

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

Есть таблиц

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 Оплачено Отгружено
...



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

$100



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

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



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

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)



Fay   (2002-02-17 03:17) [4]

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



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

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

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



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

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




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.023 c
4-43211           Romul                 2002-01-12 12:05  2002.03.14  
Как удерживать бегунок у ScrollBar внизу?


1-43020           Dtr                   2002-02-27 12:51  2002.03.14  
Связь компонента


4-43227           otari                 2002-01-07 12:32  2002.03.14  
как поимать HWND если у приложений две edit


3-42961           Draculenok            2002-02-13 14:44  2002.03.14  
Вопрос по Paradox


3-42940           Konung                2002-02-12 15:55  2002.03.14  
Подстановочные (lookup) поля. Создание из программы.