Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: filtrowanie różnicowe wartości w zgrupowanych rekordach
Forum PHP.pl > Forum > Bazy danych
erix
Wiem, że może mylący tytuł, ale już wyjaśniam. Otóż wybieram sobie dwa rekordy, które są zestawy wartości. Każdy następny rekord może (ale nie musi) być rozszerzeniem wartości wcześniej wybranych. I teraz co chcę zrobić - zestawy "dziedziczące" mogą zawierać tylko zmienione dane - dane, które powinny być dziedziczone są w nich reprezentowane jako null.

Po stronie PHP rozwiązać coś takiego, to nie problem (sortowanie odwrotne + sprawdzanie wartości), ale chciałbym to zrealizować przy pomocy zapytania. Funkcje agregujące odpadają pewnie na starcie, jedyne co mi przychodzi w tej chwili do głowy, to podzapytanie, ale byłaby to głupiego robota, bo dla każdej kolumny z osobna.

Jeśli ktoś nadal nie rozumie, jaki kolejny chory pomysł zrodził się w mojej mózgownicy, dołączam obrazek:
jmail
erix - czemu chorej?

a do tematu - nie mam zielonego pojęcia o co Ci chodzi biggrin.gif znaczy nadajemy na innych falach albo to ja jestem chory biggrin.gif
erix
Chory pomysł. tongue.gif Czytaj uważnie. tongue.gif


Chcę uzyskać z takiego zestawu "nieprzydymione" dane.
jmail
zrobiłem coś takiego (SQL Server - akurat konsola otwarta była)


  1.  
  2. CREATE TABLE test(
  3. wart1 int
  4. ,wart2 int
  5. ,wart3 int
  6. ,wart4 int
  7. ,wart5 int
  8. )
  9.  
  10.  
  11. INSERT INTO test (wart1, wart2, wart3, wart4, wart5) VALUES (1,2,2,2,2)
  12. INSERT INTO test (wart1, wart2, wart3, wart4, wart5) VALUES (2,2,2,1,2)
  13. INSERT INTO test (wart1, wart2, wart3, wart4, wart5) VALUES (2,1,2,2,2)
  14. INSERT INTO test (wart1, wart2, wart3, wart4, wart5) VALUES (2,2,1,2,2)
  15. INSERT INTO test (wart1, wart2, wart3, wart4, wart5) VALUES (2,2,2,2,1)
  16.  
  17.  
  18. SELECT
  19. min(wart1)
  20. ,min(wart2)
  21. ,min(wart3)
  22. ,min(wart4)
  23. ,min(wart5)
  24. FROM
  25. test
  26.  
  27.  


uzyskałem taki zwrot

1 1 1 1 1
erix
Ale to nie zadziała na takiej zasadzie, jak trzeba - ma być zależne od kolejności, a nie wartości (to raz), po drugie - nie tylko liczby są w danych. ;]
jmail
czyli jeżeli dziedziczy to są nulle w tych kolumnach co dziedziczą?

teraz zagmatwałes tak, że nie rozumiem całkowicie biggrin.gif
erix
Cytat
czyli jeżeli dziedziczy to są nulle w tych kolumnach co dziedziczą?

No coś takiego.

Cytat
teraz zagmatwałes tak, że nie rozumiem całkowicie

Już nie wiem, jak prościej wytłumaczyć, skoro nawet z rysunku nie rozumiesz... Null -> ma dziedziczyć wartość z rekordu będącego wyżej.
jmail
ha to jest dobra zagwozdka. kminię - wyedytuję post jak skończę
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.