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

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

SQL-запрос [D5, MySQL]


MakNik ©   (2004-05-11 17:49:00) 

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

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


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

Исправленный и проверенный на 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


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


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

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


bushmen   (2004-05-12 10:59:00) [3]

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


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


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:52:00) [5]

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

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


MakNik   (2004-05-12 10:48:00) [6]

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


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


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

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


Jee   (2004-05-12 10:06:00) [8]

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


MakNik   (2004-05-12 10:01:00) [9]

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


Johnmen   (2004-05-11 17:51:00) [10]

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


Наверх

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