[Homework] Transact-SQL
Малко мое творчество - CODE
Не съм съвсем убеден във верността на решенията, но толкова ми роди главата за сега!
Малко мое творчество - CODE
Не съм съвсем убеден във верността на решенията, но толкова ми роди главата за сега!
Това което разбирам аз от 8-ма задача е да се изкарат всички двойки служители живеещи в един и същи град. Тоест ако във Кокаляне живеят Здравко Желязков, Трендафилка Немска и Фуу Бар да принтим : ЦЪК
Кокаляне: Здравко Желязков - Трендафилка Немска
Кокаляне: Здравко Желязков - Фуу Бар
Кокаляне: Трендафилка Немска - Фуу Бар
В примерния аутпут обаче не виждам това, а нещо което не мога изобщо да разбера...
@Presian виждам, че си изкарал същия аутпут като от примера, но не мога да вдяна какво првиш? А 9-та задача като видях от линка къ MSDN, че трябва да се пипат неща в master.mdf за да си дефинираме външна .нет агрегатна функция ме хвана страх. Ще ми гръмне SQL SERVERA и после няма оправяне.
Формулата по която успях да докарам примерния изход на 8 е:
LastNameSecondEmp: FirstNameFirstEmp LastNameFirstEmp TownName FirstNameSecondEmp
И аз се чудих защо е толкова объркано ама...
borislavml не знам дали логиката ми е съвсем праилна, но от примерния изход стигнах до заключението, че хващаш първия служител от съответния град и той става перманентен за този град, когато се смени града се сменя и този перманентен служител по когото правиш двйка с останалите служители. От тук идва въпроса дали не трябва да се правят още някакви манипулации, тъй като това реално не са всички възможни двойки, но за да изкараш всички възможни двойки трябва ад се правят някакви магии със вложени цикили или курсори(което не съм много сигурен дали и как е възможно). Аз съм на мнение, че задачите в това домашно са доста сложни на база обясненията по време на лекциите, за 9 задача все още се опитвам да се настроя да почна да правя нещо което, въобще не е показвано в лекцията има три реда и горе долу толкова обяснение от лектора.
Аз мисля че успях да го направя с вложени курсори. Може да погледнеш ТУК
За мен 9-та задача също е непонятна. Даже мисля че е по трудна от 10 която е с *
crazy7 доста чисто направено, не изглежда толкова сложно - ще го пробвам.
А колкото до 9 задача предполагам, че няма да е толкова сложна! Но нямам никаква идея как се прави такава функция, ако имаше поне някакъв пример щеше да е по лесно
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 <-
Но нека не издребняваме
Аз малко оптимизирах нещата - с един where във вътрешния курсор и стана една идея по бързо(поне така ми се струва)
CODE
Да забелязах че е бавно, но това измислих в момента.
Where е добра идея
До колкото за разминаването предполагам че ще се оправи с някой Order by
crazy7, а не ти ли дава грешка, че курсорът вече е деклариран?
Не нямам проблеми. Да не да забравяш да го DEALLOCATE-неш вътре в цикъла?