![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 350 Pomógł: 31 Dołączył: 23.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cześć.
Przejdę od razu do konkretów. Próbuje pobrać najmniejszą kwotę (cenę) oraz liczbę dni przypisaną według danego sklepu. Ogólnie prawidłowo pobiera najniższą cenę, funkcja MIN() spełnia swoje założenia, ale pozostała część zapytania (tj: pobieranie dni, oraz id) - zwraca w ogóle inne, dziwne wartości, które nie należą do rekordu z najniższą ceną. Zapytanie, które wykonuje:
Wynik: malo: 170 (dobrze), days: 1, id: 1 Pobiera najniższy wynik, ale później zapytanie pobiera pierwszy z brzegu rekord i zwraca mi dni: 1, id: 1 - a powinno zwrócić: 7 dni oraz id: 9. Ktoś wie dlaczego tak się dzieje? Poniżej przedstawiam schemat tabeli wraz z danymi, na których operuje.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 350 Pomógł: 31 Dołączył: 23.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dość nieciekawie moja sytuacja wygląda - zapytanie z pierwszego posta to tak na prawdę jest wyodrębnione. Finalnie całe zapytanie będzie wyglądało tak:
Stosując Twój przykład - nadając dodatkowy warunek WHERE tak na prawdę ograniczę wynik tylko do jednego rekordu - jak usunę całkowicie ten warunek WHERE + podzapytanie to wówczas zwróci mi prawidłową liczbę, ale liczba dni będzie się niezgadzać :-/ Teraz tak myślę, aby to w ogóle rozbić na dwa zapytania - może ktoś z Was będzie miał inny pomysł to śmiało pisać :-) |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:27 |