Софтуерно Инженерство
Loading...
borislavml avatar borislavml 368 Точки

Това което разбирам аз от 8-ма задача е да се изкарат всички двойки служители живеещи в един и същи град. Тоест ако във Кокаляне живеят Здравко Желязков, Трендафилка Немска и Фуу Бар да принтим : ЦЪК

Кокаляне:  Здравко Желязков - Трендафилка Немска

Кокаляне:  Здравко Желязков - Фуу Бар

Кокаляне:  Трендафилка Немска - Фуу Бар

В примерния аутпут обаче не виждам това, а нещо което не мога изобщо да разбера... 

@Presian  виждам, че си изкарал същия аутпут като от примера, но не мога да вдяна какво првиш? А 9-та задача като видях от линка къ MSDN, че трябва да се пипат неща в master.mdf  за да си дефинираме външна .нет агрегатна функция ме хвана страх. Ще ми гръмне SQL SERVERA и после няма оправяне. smile

 

2
18/02/2015 14:09:21
crazy7 avatar crazy7 177 Точки

Формулата по която успях да докарам примерния изход на 8 е:

LastNameSecondEmp: FirstNameFirstEmp  LastNameFirstEmp TownName FirstNameSecondEmp

И аз се чудих защо е толкова объркано ама...

1
18/02/2015 14:58:51
presian avatar presian 223 Точки

borislavml  не знам дали логиката ми е съвсем праилна, но от примерния изход стигнах до заключението, че хващаш първия служител от съответния град и той става перманентен за този град, когато се смени града се сменя и този перманентен служител по когото правиш двйка с останалите служители. От тук идва въпроса дали не трябва да се правят още някакви манипулации, тъй като това реално не са всички  възможни двойки, но за да изкараш всички възможни двойки трябва ад се правят някакви магии със вложени цикили или курсори(което не съм много сигурен дали и как е възможно). Аз съм на мнение, че задачите в това домашно са доста сложни на база обясненията по време на лекциите, за 9 задача все още се опитвам да се настроя да почна да правя нещо което, въобще не е показвано в лекцията има три реда и горе долу толкова обяснение от лектора.

0
18/02/2015 16:31:26
crazy7 avatar crazy7 177 Точки

Аз мисля че успях да го направя с вложени курсори. Може да погледнеш ТУК

За мен 9-та задача също е непонятна. Даже мисля че е по трудна от 10 която е с *

2
presian avatar presian 223 Точки

crazy7 доста чисто направено, не изглежда толкова сложно - ще го пробвам. 

А колкото до 9 задача предполагам, че няма да е толкова сложна! Но нямам никаква идея как се прави такава функция, ако имаше поне някакъв пример щеше да е по лесно

 

0
presian avatar presian 223 Точки

crazy7 направи ли ти впечатление колко е бавна заявката по този начин в 8-ма задача? 

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

Wood: John Wood Redmond John
Hill: John Wood Redmond Annette
Feng: John Wood Redmond Hanying
Sousa: John Wood Redmond Anibal
Glimp: John Wood Redmond Diane
Pournasseh: John Wood Redmond Houman
McArthur: John Wood Redmond Mark <-

 

По условие трябва да е:

Wood: John Wood Redmond John

Hill: John Wood Redmond Annette

Feng: John Wood Redmond Hanying

Sousa: John Wood Redmond Anibal

Glimp: John Wood Redmond Diane

Pournasseh: John Wood Redmond Houman

Kane: John Wood Redmond Lori <-

 

Но нека не издребнявамеlaughing 

Аз малко оптимизирах нещата - с един where във вътрешния курсор и стана една идея по бързо(поне така ми се струваlaughing)

CODE

1
crazy7 avatar crazy7 177 Точки

Да забелязах че е бавно, но това измислих в момента.

Where е добра идея wink

До колкото за разминаването предполагам че ще се оправи с някой Order by

0
n.galabov avatar n.galabov 41 Точки

crazy7, а не ти ли дава грешка, че курсорът вече е деклариран?

0
crazy7 avatar crazy7 177 Точки

Не нямам проблеми. Да не да забравяш да го DEALLOCATE-неш вътре в цикъла?

1