![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 7.08.2004 Skąd: Tomaszów Maz. Ostrzeżenie: (0%) ![]() ![]() |
Wątek na ten temat założyłem już na goldenline, niestety nie otrzymałem pomocy... (http://www.goldenline.pl/forum/bazy-danych/397748)
Napiszę w skrócie o co chodzi: Mam takie zapytanie:
Chce z kazdej miejscowosci wyciagnac losowy obiekt. Nazwy miejscowosci przechowywane sa w drugiej tabeli (miejscowosci_nazwa) ze wzgledu na rozne nazewnictwo przy roznych wersjach jezykowych. Problem polega na tym, ze nie wyciaga mi losowego obiektu, tylko zawsze pierwszy, ktory jest dodany do danej miejscowosci. Podaje też kilka innych tasiemców, których próbowałem...:
Działa prawie dobrze. Zwraca losowe obiekty przypisane do każdej miejscowości, ale czasami zamiast obiektu zwraca null... Kolejny tasiemiec do kolekcji:
Tym razem albo zwraca miejscowosc z losowym obiektem z tej miejscowosci, albo w ogole nie zwraca miejscowosci (pewnie to przez WHERE) Ten post edytował Bartol 21.06.2008, 19:09:52 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Jak nie chcesz mieć null to dołączaj tabele samym join (left join połączy tablice nawet jak warunek połączenia nie jest spełniony)
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 7.08.2004 Skąd: Tomaszów Maz. Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
pozatym zobacz czy w tablicach z obiektami nie masz przypadkiem jakiegos nulla -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 7.08.2004 Skąd: Tomaszów Maz. Ostrzeżenie: (0%) ![]() ![]() |
pozatym zobacz czy w tablicach z obiektami nie masz przypadkiem jakiegos nulla Nie ma żadnego nulla na pewno, są tylko testowe dane, dosłownie kilka rekordów. Twój przykład działa podobnie jak jeden z moich. Poniżej wynik działania dla kilku odświeżeń: Cytat id miejscowosc id nazwa 1 Zakopane 1 u antka 2 Testowa 3 dupaaa1 id miejscowosc id nazwa 2 Testowa 3 dupaaa1 id miejscowosc id nazwa 1 Zakopane 2 u zdzicha NULL id miejscowosc id nazwa 1 Zakopane 1 u antka 2 Testowa 4 dupa2 Przypisania obiektów do miejscowości i ich losowość są w porządku. Problem polega na tym, że czasami opuszcza miejscowość/ci nie wiadomo czemu i nie uwzględnia ich w ogóle w wynikach. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
jestes pewnien ze to jest prawidlowe?
w warunku porównujesz stringa z liczbami po drugie jak nie znajduje miejscowosci (daje null) to moze dodaj
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 7.08.2004 Skąd: Tomaszów Maz. Ostrzeżenie: (0%) ![]() ![]() |
jestes pewnien ze to jest prawidlowe?
w warunku porównujesz stringa z liczbami Jestem pewien. o.miejscowosc jest typu int. po drugie jak nie znajduje miejscowosci (daje null) to moze dodaj
zaraz poprobuje |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 14:42 |