Форум: "Базы";
Поиск по всему сайту: 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.026 c
1-43001           Дмитрий_Ч             2002-02-28 12:38  2002.03.14  
Помогите кто знает как...


14-43161          roman001              2002-01-30 18:27  2002.03.14  
rxlib и др.


7-43198           Leviathan             2001-12-11 20:47  2002.03.14  
Sleep в консольной программе


14-43150          Геральт               2002-01-29 19:20  2002.03.14  
Помогите


1-43064           Woron                 2002-02-25 00:39  2002.03.14  
Строки