Aktywne Wpisy
xena_x +19
Chciałabym mieć mężczyznę przyjaciela ale w tych czasach to chyba niemożliwe. Za każdym razem jak ujawniam moje preferencje oraz to jak widziałabym mój wymarzony związek ludzie odpowiadają mi żebym przygotowała się na samotność, bo nie nadaję się do związku i żebym udała się do terapeuty. Co więcej kobiety tak mówią, że jak nie chce uprawiać seksu z mężczyzną, to po co w ogóle mi związek? Jakbym była jakimś pudłem którego funkcją jest
Qontrol +19
Znalazłem w garażu z 5 pudeł z płytami CD.
Filmy, gry nagrywane w latach 2000-2010 (mniej więcej). Pamiętam że była nagonka za dzieciaka na piraty. Ze chodzą po domach itp xD Ojciec wszystko spakował i schował na strychu i garażu.
Oczywiście wszystko piraty. Filmy w stylu oszukać przeznaczenie 1, Rocky 1 itp.
Wywalać to do kosza czy trzymać?
Kiedyś jak wszedł net, wszyscy to wywalali bo wszystko jest w necie. A teraz
Filmy, gry nagrywane w latach 2000-2010 (mniej więcej). Pamiętam że była nagonka za dzieciaka na piraty. Ze chodzą po domach itp xD Ojciec wszystko spakował i schował na strychu i garażu.
Oczywiście wszystko piraty. Filmy w stylu oszukać przeznaczenie 1, Rocky 1 itp.
Wywalać to do kosza czy trzymać?
Kiedyś jak wszedł net, wszyscy to wywalali bo wszystko jest w necie. A teraz
Potrzebuję napisać zapytanie sql ( baza mssql), które znajdzie wspólne sprzedawane produkty dla 3 hurtowni. Czyli tak:
- interesuje mnie tylko to czy dany produkt był w sprzedaży we wszystkich 3 hurtowniach w danym tygodniu (wystarczy, że był w jakimś dniu w jakimś tygodniu i to się zalicza) - generalnie to sobie ogarnąłem w taki sposob:
Wszystko Mam w jednej tabeli ale stworzyłem w zapytaniu 3 tabele i złączyłem przy użyciu intersect, wygląda to mniej więcej tak:
SELECT
idprodukt
, rok
, nrtygodniawroku
FROM tabela
WHERE 1=1
AND idhurtownia =1 ------hurtownianr1
AND roktydzien = 202345
GROUP BY to co w selekcie xd
INTERSECT
SELECT
idprodukt
, rok
, nrtygodniawroku
FROM tabela
WHERE 1=1
AND idhurtownia =2 ------hurtownianr2
AND roktydzien = 202345
group by to co w selekcie
+ tam jeszcze jedna tabela dotyczącą produktów trzeciej hurtowni
Niestety rozwiązanie to jest wadliwe bo:
1. Wymagania są takie, że sprawdzam dane od 202345 (rok i tydzien) i od tego okresu biorę produkty, które występują w każdym miesiącu, jak jakiś produkt wystąpi w każdym tygodniu dla każdej hurtowni ale np. oprócz ostatniego pełnego tygodnia to musi zniknąć z zapytania.
Inaczej rzecz ujmując: jeśli wynikiem zapytania będzie jakiś produkt to ma z tego wynikać, że był on w sprzedaży w każdej hurtowni, przynajmniej jeden dzień w każdym tygodniu od okresu 202345
Wynikiem zapytania obecnego, tego co podałem wyzej jest to, że pokaże mi produkty wspolne dla 3 hurtowni w danym roku i tygodniu ale nie sprawdzi czy dany produkt był w sprzedaży każdym tygodniu od wymaganego okresu.
Proszę o jakiekolwiek wskazówki bo mnie #!$%@? strzela xD
#sql #sqlserver #businessintelligence
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.
No i potencjalnie użył variables dla deklarowania zakresu czasu / lub kolejną tabele z zakresami dat.
W razie czego można wszystko opisać używając subqueries w jednym joinie.
robisz dwa CTE - jedno do określenia całkowitej liczby unikalnych tygodni zaczynając od tygodnia 202345, w których była sprzedaż (id hurtowni, unikatowy count tygodni, z filtrem >=202345, zgrupowane bo id hurtowni) - dla każdej hurtowni. Nazwijmy ją Tyg
drugie - ile unikalnych tygodni każdy produkt był dostępny w każdej z hurtowni (idproduktu, nazwaproduktu, idhurtowni, unikatowy count tygodni, zgrupowane po
Zrobiłem zmienna z liczba tygodni od daty co chcialem a potem w zapytaniu głównym Dodatkową kolumnę z użyciem funkcji okna, która mi zwracała w ilu tygodniach od wymaganej daty pojawił się produkt to wszystko dla 3 zapytań pomniejszych bo uzywam INTERSECT dla zwrócenia wspólnych części i na końcu filter gdzie