Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 3 4 вперед Ctrl→ все |
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] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Устали ? |
||
22 май 13, 10:20 [14330956] Ответить | Цитировать Сообщить модератору |
natya Member [заблокирован] Откуда: Азербайджан, Баку Сообщений: 347 |
нет просто не могу группироват |
22 май 13, 10:21 [14330966] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
И чего вам не хватает, чтобы вы смогли ? |
||
22 май 13, 10:25 [14330991] Ответить | Цитировать Сообщить модератору |
natya Member [заблокирован] Откуда: Азербайджан, Баку Сообщений: 347 |
Glory, меня нужн опытный глаз чтобы группироват и сделат все с одним скриптом |
22 май 13, 10:29 [14331004] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
А мне кажется, вам нужен нормальный язык. Чтобы внятно описать задачу/проблему
А вас сейчас много скриптов разве ? |
||||
22 май 13, 10:34 [14331026] Ответить | Цитировать Сообщить модератору |
natya Member [заблокирован] Откуда: Азербайджан, Баку Сообщений: 347 |
я записал толко фрагмент case when и толко фрагмент select после select и мне надо делат вычисления и ... |
22 май 13, 10:37 [14331048] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Да-да, и теперь вам нужен зоркий глаз, верная рука и пытливый ум, "чтобы группироват и сделат все с одним скриптом" К сожалению данный форум не предоставляет услуг по пересадке органов. |
||
22 май 13, 10:46 [14331123] Ответить | Цитировать Сообщить модератору |
natya Member [заблокирован] Откуда: Азербайджан, Баку Сообщений: 347 |
да вы очен миласердный и умный парен и профессионалный пргораммист и поетому вы меня советуюте верный пут потомоу что я не местный парен |
22 май 13, 10:55 [14331187] Ответить | Цитировать Сообщить модератору |
natya Member [заблокирован] Откуда: Азербайджан, Баку Сообщений: 347 |
natya, никто не может решит ,?????? |
22 май 13, 11:07 [14331266] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
да помоглиб уже 10 раз..но я вам уже говорил,что перевести ваш русский на русский - крайне тяжело,и вы вместо постановки задачи ,пишете куски кода и поток своего сознания и видения того как вы делаете :( Еще нигде не написали ,что у вас есть и что вы хотите таки получить в итоге. |
||
22 май 13, 11:12 [14331305] Ответить | Цитировать Сообщить модератору |
Winnipuh Member [заблокирован] Откуда: Київ Сообщений: 10428 |
![]() |
||||
22 май 13, 11:33 [14331450] Ответить | Цитировать Сообщить модератору |
StarikNavy Member Откуда: Москва Сообщений: 2396 |
жесть )))))) извиняюсь, за смех сквозь слезы, но все таки вопросы, так не формулируют |
||
22 май 13, 11:40 [14331510] Ответить | Цитировать Сообщить модератору |
Winnipuh Member [заблокирован] Откуда: Київ Сообщений: 10428 |
могут.... кстати, ничего личного, как у вас с английским? попробуйте описать ситуацию и сформулировать свой вопрос на английском |
||
22 май 13, 11:51 [14331624] Ответить | Цитировать Сообщить модератору |
Homosum Member Откуда: Москва Сообщений: 371 |
Вы не правы. Здесь помогают всем вне зависимости от местожительства. То, что с русским языком есть проблемы - это не самое страшное. Можно прежде чем опубликовать сообщение проверить его на наличие ошибок и опечаток (в тексте именно очень много опечаток), например в Word. Также еще один совет - не используйте ни в запросах ни при проектировании БД азербайджанских (русских и т.д.) слов. Лучше не полениться зайти на любой сайт переводчик и использовать английский термин. Такой подход и Вам и другим разработчикам очень поможет в будущем, да и ответы на форумах получите быстрее. |
||
22 май 13, 13:29 [14332536] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
И что такого в этом скрипте, что он требует обсуждения ? |
||
22 май 13, 14:17 [14333019] Ответить | Цитировать Сообщить модератору |
natya Member [заблокирован] Откуда: Азербайджан, Баку Сообщений: 347 |
не надо оскорблять сдес люди мы все не вундеркинды |
22 май 13, 14:22 [14333068] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Вы то уж точно на вундеркинда не тяните. |
||
22 май 13, 14:24 [14333087] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
1. Почему у вас все числа храняться как строки ?
2. Почему не сдалть справочник файлов чтоб избаться от вот етого ?
Нормализировав структуру хранения информации ,вы сразу уйдете от when case на 100 строк ,к банальному джойну ... Ето так на вскидку сразу ,если я таки понял,что вы хотите обсудить |
||||
22 май 13, 14:24 [14333088] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
natya Member [заблокирован] Откуда: Азербайджан, Баку Сообщений: 347 |
а как я иогу Нормализировав структуру скрипта |
22 май 13, 14:41 [14333234] Ответить | Цитировать Сообщить модератору |
Winnipuh Member [заблокирован] Откуда: Київ Сообщений: 10428 |
не скрипта, а базы |
||
22 май 13, 14:46 [14333266] Ответить | Цитировать Сообщить модератору |
natya Member [заблокирован] Откуда: Азербайджан, Баку Сообщений: 347 |
исползую case when в табличе который каждый ден ипортирию базу |
22 май 13, 14:49 [14333295] Ответить | Цитировать Сообщить модератору |
Winnipuh Member [заблокирован] Откуда: Київ Сообщений: 10428 |
структуру таблиц, которые в запросе участвуют покажите |
||
22 май 13, 14:51 [14333322] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 3 4 вперед Ctrl→ все |
Все форумы / Microsoft SQL Server | ![]() |