![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
mam kłopot z relacją. Mysql dziwnie sie zachowuje mimo tego, że oczekuje czego innego.
mam takie zapytanie:
pobiera liste kategori i liczy ile w danej jest rekordów i sumuje kolumne count. Na chwile obecna działa tylko wtedy gdy jest jakis element w danej kategori ale jak nie ma zamiast pokaza 0 to go nie wyswetla mimo tego ze mam LEFT. RIGHT i INNER tak samo Pod zapytania niewchodzą w gre. Kilka z was moze zdziwic ze 2 razy podaje jezyk dla roznych tabel ale inaczej nie działa :/ |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 0 Dołączył: 22.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
To dziwne, ze zapytanie nie zwraca tego co trzeba - a moze w tabeli 'documents' w polu 'cat' wszystkie pola sa powiazane z polem 'id' w tabeli 'cat' (czyli LEFT JOIN dziala tak jak OUTER JOIN bo nie ma zadnych "krotek wiszących" = czyli kazdy wpis w kolumnie 'cat' w tabeli 'documents' ma swoj odpowiednik w kolumnie 'id' w tabeli 'cat') ?
Co do struktury to rozwiązanie wg. mnie z trzymaniem stringa jako klucza, zeby wydobyc jezyk jest nie do konca optymalne. Mozesz sprobowac przemodelowac tak baze, zeby nazwy kategorii i dokumentow umieszczac w innych tabelach w odpowiednich jezykach i polaczyc je za pomoca klucza obcego. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 01:23 |