Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 case when и select  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
у меня в базе sql 2000
ест 5 таблицы

создал скрипт
---------------
select t3.phone2,t2.debt ,tt1.old_debt,t1.sadbr,t242.qebzbr
from table3 as t3 left join table2 as t2 on t3.phone2=t2.phone1 left join table1 as tt1
on t2.phone1=tt1.phone left join t1 on tt1.phone=t1.phone left join t242 on t242.ph=t1.phone
---------------
и выбираю такой резултат

phone2 debt old_debt sadbr qebzbr
-----------------------------------------------------
3420926 2.70 2.700000 0,17 NULL
3422121 2.70 2.700000 0,10 NULL
3423217 -2.70 2.700000 0,03 1.190000
3423217 -2.70 2.700000 0,03 1.640000
3424637 5.40 2.700000 0,01 NULL
3425332 0.35 2.700000 0,01 NULL
3425675 13.50 2.700000 NULL NULL
3427074 45.40 22.700000 1,15 NULL

но ест одно проблема

который нужн ипортироват файл

и выбират с case when и отфилтироват резултат с phone 2

потом получит примерно такую резултат

phone2 debt old_debt sadbr qebzbr borc rejim
--------------------------------------------------------------------
3420926 2.70 2.700000 0,17 NULL 5.9 CDM
3422121 2.70 2.700000 0,10 NULL Null no
3423217 -2.70 2.700000 0,03 1.190000 5.36 CDM sa
3423217 -2.70 2.700000 0,03 1.640000 NULL no
3424637 5.40 2.700000 0,01 NULL NULL no
3425332 0.35 2.700000 0,01 NULL 11.65 CDM
3425675 13.50 2.700000 NULL NULL 12.9 CDM
3427074 45.40 22.700000 1,15 NULL NULL no

Импорт и case when раьотают отлично

bulk insert absher
from 'c:\temp\abshero.txt'
with
(formatfile='c:\temp\absh.fmt')
go
select convert(int,telefon),convert(money,odenis)/100.0, 'rejim' =
case
when convert(int,kod)=92 and convert(int,sifre) in(0,66) and substring(telefon,3,3)=408
then 'CDM
when convert(int,kod) in(13,91) and convert(int,sifre) in(0,66) and substring(telefon,3,3)=408
then 'CDM sa '
when convert(int,kod)=92 and convert(int,sifre) in(0,66) and convert(int,telefon)<1000000
then
'Qurur ftr'
when convert(int,kod) in (13,91) and convert(int,sifre) in(0,66) and convert(int,telefon)<1000000
else 'no'

end
from absher


но далше не могу
22 май 13, 10:18    [14330942]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
Glory
Member

Откуда:
Сообщений: 104751
natya
но далше не могу

Устали ?
22 май 13, 10:20    [14330956]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
нет просто не могу группироват
22 май 13, 10:21    [14330966]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
Glory
Member

Откуда:
Сообщений: 104751
natya
нет просто не могу группироват

И чего вам не хватает, чтобы вы смогли ?
22 май 13, 10:25    [14330991]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
Glory,

меня нужн опытный глаз

чтобы группироват и сделат все с одним скриптом
22 май 13, 10:29    [14331004]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
Glory
Member

Откуда:
Сообщений: 104751
natya
меня нужн опытный глаз

чтобы группироват

А мне кажется, вам нужен нормальный язык. Чтобы внятно описать задачу/проблему

natya
и сделат все с одним скриптом

А вас сейчас много скриптов разве ?
22 май 13, 10:34    [14331026]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
я записал толко фрагмент case when

и толко фрагмент select

после select и мне надо делат вычисления и ...
22 май 13, 10:37    [14331048]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
Glory
Member

Откуда:
Сообщений: 104751
natya
я записал толко фрагмент case when

и толко фрагмент select

после select и мне надо делат вычисления и ...

Да-да, и теперь вам нужен зоркий глаз, верная рука и пытливый ум, "чтобы группироват и сделат все с одним скриптом"
К сожалению данный форум не предоставляет услуг по пересадке органов.
22 май 13, 10:46    [14331123]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
да вы очен миласердный и умный парен и профессионалный пргораммист
и поетому вы меня советуюте верный пут

потомоу что я не местный парен
22 май 13, 10:55    [14331187]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
natya,

никто не может решит ,??????
22 май 13, 11:07    [14331266]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
natya
natya,

никто не может решит ,??????

да помоглиб уже 10 раз..но я вам уже говорил,что перевести ваш русский на русский - крайне тяжело,и вы вместо постановки задачи ,пишете куски кода и поток своего сознания и видения того как вы делаете :( Еще нигде не написали ,что у вас есть и что вы хотите таки получить в итоге.
22 май 13, 11:12    [14331305]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Glory
natya
но далше не могу

Устали ?


22 май 13, 11:33    [14331450]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2428
natya
но далше не могу

жесть ))))))

извиняюсь, за смех сквозь слезы, но все таки вопросы, так не формулируют
22 май 13, 11:40    [14331510]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
natya
natya,

никто не может решит ,??????


могут....

кстати, ничего личного, как у вас с английским?
попробуйте описать ситуацию и сформулировать свой вопрос на английском
22 май 13, 11:51    [14331624]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
Homosum
Member

Откуда: Москва
Сообщений: 371
natya
да вы очен миласердный и умный парен и профессионалный пргораммист
и поетому вы меня советуюте верный пут

потомоу что я не местный парен


Вы не правы.
Здесь помогают всем вне зависимости от местожительства.
То, что с русским языком есть проблемы - это не самое страшное. Можно прежде чем опубликовать сообщение проверить его на наличие ошибок и опечаток (в тексте именно очень много опечаток), например в Word.
Также еще один совет - не используйте ни в запросах ни при проектировании БД азербайджанских (русских и т.д.) слов. Лучше не полениться зайти на любой сайт переводчик и использовать английский термин. Такой подход и Вам и другим разработчикам очень поможет в будущем, да и ответы на форумах получите быстрее.
22 май 13, 13:29    [14332536]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
извиняюс другими людами

а какие рисовки вы ?
вообше билгейт был сдес


вот скрипт
просто я хочу обсуждения

select cur.phone2 ,cur.debt ,cur.old_debt,m1.mny ,m1.rejim
from
(select t3.phone2,t2.debt ,tt1.old_debt,t1.sadbr,t242.qebzbr
from table3 as t3 left join table2 as t2 on t3.phone2=t2.phone1 left join table1 as tt1
on t2.phone1=tt1.phone left join t1 on tt1.phone=t1.phone left join t242 on t242.ph=t1.phone)as cur
left outer join
(select convert(int,telefon) as tlf,convert(money,odenis)/100.0 as mny, 'rejim' =
case
when convert(int,kod)=92 and convert(int,sifre) in(0,66) and substring(telefon,3,3)=408
then 'CDMA abune haqqlari odenish'
when convert(int,kod) in(13,91) and convert(int,sifre) in(0,66) and substring(telefon,3,3)=408
then 'CDMA sad odenish'
when convert(int,kod)=92 and convert(int,sifre) in(0,66) and convert(int,telefon)<1000000
then
'Qurumlar abune haqqlari odenish'
when convert(int,kod) in (13,91) and convert(int,sifre) in(0,66) and convert(int,telefon)<1000000
then
'Qurumlar SHAD odenishleri'
when convert(int,kod)=92 and convert(int,sifre) in(0,66) and convert(int,telefon)>3000000 and
substring(telefon,3,3)<>408
then 'Menzil sektoru abune haqqlari odenish'
when convert(int,kod) in (13,91) and convert(int,sifre) in(0,66) and convert(int,telefon)>3000000
and substring(telefon,3,3)<>408
then
'Menzil sektoru SHAD odenishleri'
when convert(int,kod)=92 and convert(int,sifre)=10 and (convert(money,odenis)/100.0)>10
then 'Yeni cekilish'
when convert(int,kod)=92 and convert(int,sifre)=10 and (convert(money,odenis)/100.0)=10
then 'Yeni cekilish CDMA'
when convert(int,kod)=92 and convert(int,sifre)=46
then 'Yeni cekilish kredit'
when convert(int,kod)=92 and convert(int,sifre)=30
then 'Addan ada kecid'
when convert(int,kod)=92 and convert(int,sifre)=22
then 'Nomre deyishme'
when convert(int,kod)=92 and convert(int,sifre)=21
then 'Unvan deyishme'
when convert(int,kod)=92 and convert(int,sifre)=40 and (convert(money,odenis)/100.0)=0.40
then '0-00-107 kodunun baglanmasi'
when convert(int,kod)=92 and convert(int,sifre)=40 and (convert(money,odenis)/100.0)>0.40
then 'Internet provayderlerin ayliq odenishi'
when convert(int,kod)=92 and convert(int,sifre)=44
then
'Material xerci'
when convert(int,kod)=92 and convert(int,sifre)=20
then
'Berpa'
when convert(int,kod)=92 and convert(int,sifre) in (110,210)
then
'CDMA aktivleshmesi'
when convert(int,kod)=92 and convert(int,sifre)=120
then 'CDMA berpasi'
22 май 13, 14:15    [14332995]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
Glory
Member

Откуда:
Сообщений: 104751
natya
вот скрипт
просто я хочу обсуждения

И что такого в этом скрипте, что он требует обсуждения ?
22 май 13, 14:17    [14333019]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
не надо оскорблять сдес люди

мы все не вундеркинды
22 май 13, 14:22    [14333068]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
Glory
Member

Откуда:
Сообщений: 104751
natya
не надо оскорблять сдес люди

мы все не вундеркинды

Вы то уж точно на вундеркинда не тяните.
22 май 13, 14:24    [14333087]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
1. Почему у вас все числа храняться как строки ?
автор
convert(int,kod)=92 and convert(int,sifre)=20

2. Почему не сдалть справочник файлов чтоб избаться от вот етого ?
автор
when convert(int,kod) in (13,91) and convert(int,sifre) in(0,66) and convert(int,telefon)<1000000
then
'Qurumlar SHAD odenishleri'


Нормализировав структуру хранения информации ,вы сразу уйдете от when case на 100 строк ,к банальному джойну ...
Ето так на вскидку сразу ,если я таки понял,что вы хотите обсудить
22 май 13, 14:24    [14333088]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
да maxx



сдес крипт очен болшой
резултат так примерно

------------------
phone2 debt old_debt sadbr qebzbr mny rejim
------------------------------------------------
9969696 2.3 6.3 5.6 9.3 3.6 CD
4554554 5.7 5.5 3.2 6.3 NULL NULL

в резултате нодо сделат вычисления

если mny и rejim NULL
тогда


phone2 (debt-old_debt) ,(adbr-qebzbr)

если mny и rejim not null
тогда

phone2 (debt-old_debt- mny ),(adbr-qebzbr)


надо такой резултат
22 май 13, 14:39    [14333226]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
а как я иогу Нормализировав структуру скрипта
22 май 13, 14:41    [14333234]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
natya
а как я иогу Нормализировав структуру скрипта


не скрипта, а базы
22 май 13, 14:46    [14333266]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
исползую case when в табличе который каждый ден ипортирию базу
22 май 13, 14:49    [14333295]     Ответить | Цитировать Сообщить модератору
 Re: case when и select  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
natya
исползую case when в табличе который каждый ден ипортирию базу


структуру таблиц, которые в запросе участвуют покажите
22 май 13, 14:51    [14333322]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить