![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 4.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem, ponieważ chciałbym posortować bazę opisanym niżej sposobem ale nie za bardzo wiem jak się za to zabrać. Bardzo proszę o jakiekolwiek wskazówki.
Załóżmy, że tak wygląda próbka bazy: Kod 1 kolumna (domena) 2 kolumna (katalogi) 3 kolumna (wartość1) 4 kolumna (wartość2) http://costam1.pl /katalog1/katalog2/ 2 1 http://costam1.pl /katalog1/katalog2/strona1.html 5 2 http://costam1.pl /katalog1/katalog2/strona2.html 3 3 Chciałbym uzyskać taki efekt, że jeżeli napotkamy na takie przypadki to byłyby one liczone jako jeden z sumą wszystkich wartości, czyli zwrócony wynik wyglądałby następująco: Kod 1 kolumna (domena) 2 kolumna (katalogi) 3 kolumna (wartość1) 4 kolumna (wartość2) http://costam1.pl /katalog1/katalog2/ 10 6 Wynikiem tego zabiegu miałaby być baza oczyszczona z tego typu powtórek. Czyli byłoby to grupowanie z dokładnością do pierwszego slasha od końca. Z tego względu, że różnego rodzaju przypadków o różnym stopniu zagłębienia w katalogi mamy mnóstwo, więc tak naprawdę tylko ten ostatni slash może być punktem wyjścia. http://costam.pl/katalog1/katalog2/ nie byłby już tym samym, co http://costam.pl/katalog1/ Z góry dzięki i pozdrawiam. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Wątpię by ktoś to napisał od tak o sobie dla hecy, to jest trochę skomplikowana procedura (pl/sql) + na pewno triger ktory działa na INSERT, ale to nie będzie proste... Szczerzę to sam nie wiem jak by coś takiego miało wyglądać.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 4.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
To może chociaż jakieś wskazówki, hasła po których można by szukać.
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Ja raczej jestem ciekaw czego innego... Co miałaby zwrócić baza w przypadku innej domeny lub o większej różnicy w stopniu zagłębienia.
Innymi słowy co miałoby być wynikiem po dodaniu do tabeli rekordów: Kod http://costam2.pl /katalog1/katalog2/ 2 1 lub Kod http://costam1.pl /katalog1/ 2 1 Bo myślę, że w przypadku pierwszym pojawiłby się w wyniku nowy wiersz (zgaduję) i tutaj GROUP BY kolumna1 to by załatwiało. Z kolei w przypadku 2 nie mam pojęcia... Część wspólna tych wszystkich ścieżek? Ale także tylko zgaduję jak Ty to widzisz. Bo pozostałe 2 to banał. Zwykłe sum(kolumna3) i sum(kolumna4). Dwie pierwsze natomiast nie wyjaśniłeś co miały by zwracać i czy tylko 1 rekord czy może więcej. A jesli więcej to w jakim formacie byłaby wartość tej kolumny? Ten post edytował thek 4.09.2009, 11:58:23 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 4.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
thek ->
Przypadek1: Skoro domena jest inna -> po prostu nowy wiersz. Przypadek 2: Nie wiem czy dobrze Cie zrozumiałem, ale wg mnie tak: http://costam1.pl/katalog1/ (stopien zagłębienia = 1) bedzie czymś kompletnie różnym od http://costam1.pl/katalog1/katalog2/ (stopien zaglebienia = 2) i traktujemy je jako odmienne i tutaj nie robimy nic - ten wiersz nie podlega sortowaniu jeśli ma inny stopień zagłębienia. To będą 2 różne wiersze w tabeli. Jeśli chodzi o przykładowy przypadek który napisałem w 1 poście to zwrócony miałby zostać jeden rekord. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Lopmer zapraszam na strone depesz.com, kolega zna się na tych rzeczach, może jak się z nim dogadasz to Ci napisze coś takiego.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 12:46 |