Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

SQL-запрос   Найти похожие ветки 

 
MakNik ©   (2004-05-11 17:49) [0]

Помогите, плз., написать простой SQL-запрос!!!
Исходные данные:
…  Tabn   …   Usetabn
---------------------
… «0102»  …     1
… «1134»  …     0
… «D733»  …     0
… «910A»  …     1

Необходимо выбрать из таблицы все записи, подменив при этом значение поля tabn на «» если поле Usetabn=0, и оставить тоже значение если Usetabn=1.
Нужно получить:
…  Tabn   …   Usetabn
---------------------
… «0102»  …     1
…   «»    …     0
…   «»    …     0
… «910A»  …     1


 
Johnmen ©   (2004-05-11 17:51) [1]

Какие встроенные функции MySQL сервера знаешь ?


 
MakNik ©   (2004-05-12 10:01) [2]

... я ошибся, не MySQL а MSSQL...
... на самом деле задача намного сложнее... кроме всего прочего, у каждой записи есть суммы, которые складываются для пустых Tabn и берутся отдельно, если есть Tabn...


 
Jee ©   (2004-05-12 10:06) [3]

select
 case
   when Usetabn = 1 then Tabn
   else ""
 end as Tabn
from yourtable


 
Курдль ©   (2004-05-12 10:27) [4]


> у каждой записи есть суммы, которые складываются для пустых
> Tabn и берутся отдельно, если есть Tabn...

Суммы чего? Собственных полей записи? Или еще каких-то выборок из других таблиц?


 
MakNik ©   (2004-05-12 10:48) [5]

... выборок из других таблиц...


 
bushmen ©   (2004-05-12 10:52) [6]

>у каждой записи есть суммы, которые складываются для пустых >Tabn и берутся отдельно, если есть Tabn

А нельзя сказать проще, что суммы тех записей, у которых Usetabn=0 складываются, а для тех, у кого 1 - берутся отдельно?


 
Курдль ©   (2004-05-12 10:53) [7]


select
case
  when Usetabn = 1
  then
    Tabn as Tabn,
    sum(Field1) from yourtable2 as SumField
  else
    ""   as Tabn,
    sum(Field1) from yourtable3 as SumField
end
from yourtable
/CODE>


 
bushmen ©   (2004-05-12 10:59) [8]

>Курдль ©   (12.05.04 10:53) [7]
А ты сам-то проверял это ?


 
Курдль ©   (2004-05-12 11:08) [9]

Не - а :)
Но концепция такая! (Чё, лень самому?)


 
Курдль ©   (2004-05-12 11:19) [10]

Исправленный и проверенный на Sybase запрос:

select
 case SBJ_TYPE
   when 1 then S.FL_NAME
   else S.UL_NAME
 end as SBJ_NAME,
 case SBJ_TYPE
   when 1 then (select count(*) from SC.SC_ACCOUNTS A where A.SBJ_ID_RASP = S.SBJ_ID)
   else (select count(*) from SC.SC_ACCOUNTS A where A.SBJ_ID_BANK = S.SBJ_ID)
 end as ACC_COUNT
from SC.SC_SUBJECTS S


Что, все разжевывать надо? :(



Страницы: 1 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
11-1073933570
Phantomaz
2004-01-12 21:52
2004.05.30
Как поменять шрифт и цвет текста Item ов в PopupMenu ?


1-1084968513
AlexDM
2004-05-19 16:08
2004.05.30
Как программно заставить выпасть список в ValueListEditor e?


1-1084320585
Dweller
2004-05-12 04:09
2004.05.30
Как подключить Matlab DLL к Delphi


7-1082712524
Zyb
2004-04-23 13:28
2004.05.30
Сервис в Win2000


3-1084046770
ser_ega
2004-05-09 00:06
2004.05.30
Табличка для распечатки