ПредишенСледващото

Само преди няколко години, в един проект, който осигурява работата с бази данни и статистика за строителство, основната изобилието използва в SQL-заявки, доминиран предимно множество искания, насочени към предварително зададен вземане на проби и рядко може да види другия, който без никакво съмнение може да бъде се дължи на "изключителен". Въпреки сложността на заявката, в зависимост от броя на масите, но ако просто вземете и полета изход на данни от три или повече маси с стандартната асоциация, отвесни сложността на такова искане не излиза извън рамките на стандарта.

В тази статия, доколкото е възможно, ще отговори на тези въпроси, примери за които не можах да намеря, че, по мое мнение, не е класифицирана като проста.

Сравнение на данните за двете дати

Въпреки че статистиката от вида на задачата е доста рядко, но все още е необходимо за получаване на това понякога съществува. И да получите такава статистика не е по-трудно на другите.

Ние ще работим с две таблици, които се представляват от структурата по-долу:

продукти на структурата на таблицата

статистика на структурата на таблицата

Факт е, че SQL стандарта позволява използването на вложени заявки, където разрешените справки използване маса. Тук, вместо изрично посочени маси, благодарение на използването на псевдоними, получените таблици вложени заявки се използват със съществуваща връзка, едно - да - един. Резултатът от всеки получен таблицата ще бъде извършена на броя на някои поръчките на стоки за определен период, получени чрез извършване на заявка на данните, включени в представителната извадка от таблицата със статистически данни на необходимите критерии. С други думи ние таблицата със статистически данни асоциирани със себе си. Пример искане:

В резултат на това ние имаме следния резултат:

Замяна на няколко стойности от друга таблица

Необходимостта от това искане не е ежедневно, но не е много и рядко. Най-често срещаният пример за това е обичайната онлайн игра. Когато сесията е създаден на двама играчи. Съответно, в таблицата с данни на игрите, има две полеви IDs регистрирани играчи. За да се покаже информация за съществуващите игри, ние не можем да направим стандартна таблица чрез комбиниране на данни за играчите и масата на наличните игри. Тъй като ние имаме две области с идентификационните номера на някои играчи. Но можем да кандидатстваме отново за помощта на таблицата с псевдоним.

Демонстрация на това искане ще бъде в друг пример, а не един пример за мрежа игра. Това не е да се създаде наново всички необходими таблици. Като вземем тези продукти маса от примера на "съпоставка на данните за двете дати" и да се създаде друга маса липсва replace_com. чиято структура е показана по-долу:

Да предположим, че имаме компютър магазин и прекарваме изменение на някои компютърни компоненти, както и всички операции за подмяна на компоненти, съхранявани в базата данни. Таблица replace_com области от интерес за нас са: sProductID и rProductID. Когато sProductID - ID модул да бъдат заменени и rProductID - ID замяна единица. Искане за прилагане на изходни данни за извършени транзакции е както следва:

Получената маса на данни:

Статистика изход от датата на натрупване

Да предположим, че имаме склад с някои стоки. Стоките пристигат периодично, и ние бихме искали да видим в салдата доклада на дни стоки. Тъй като е необходимо данните от наличието на продукти, за да се натрупа, ще се въведе персонализираната променлива. Но има едно малко "но". Ние не можем да използваме ползвателя на заявките за променливи и група данни в същото време (или по-скоро може, но в края на краищата ние не онова, което очакваме да се), но ние можем да използваме вложено заявка, вместо изрично е посочено в таблицата. Данните в таблицата са предварително групирани по дати. И след това въз основа на тези данни, ние изчислява натрупването статистика.

В първия етап, който искате да зададете променлива и присвояване на стойност, равна на нула:

В следната заявка, ние създаден преди това променлива и се прилагат:

Възползвай се от примерна база данни тук.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!