![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 3.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Hej,
Mam 2 tabele (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W tabeli `xPosts` mam pole `id`, w tabeli `xCategories` mam pole `category_id`. Robiłem sobie zapytanie, które zliczało mi ilość takich rekordów w tabeli `xPosts`, które w polu `category_id` zawierały odpowiedniego id-ka z pola `id` w tabeli `xCategories`. Poniższe zapytanie powinno wyjaśnić to udało mi się zrobić:
Super, działa! Problem w tym, że z pewnych przyczyn musiałem zmienić nieco sposób przetrzymywania id-ków w polu `xPosts.category_id` i teraz nie są to pojedyncze liczby, ale string w formacie "1,13,54,[...]". No i w tym momencie mam problem, którego nie potrafię rozwiązać, ponieważ oczywiście relacja przestała działać. Próbowałem zmodyfikować zapytanie, ale nie działa:
Jak zbudować ten warunek, aby przeszukiwał stringa w polu `xPosts.category_id` w poszukiwaniu zadanych `id` z tabeli `xCaterogies`? Tak, jestem SQLowym leszczem. Czy mimo to mogę liczyć na Waszą pomoc? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pozdrowienia Andrzej |
|
|
![]() |
![]()
Post
#2
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Cytat Super, działa! Problem w tym, że z pewnych przyczyn musiałem zmienić nieco sposób przetrzymywania id-ków w polu `xPosts.category_id` i teraz nie są to pojedyncze liczby, ale string w formacie "1,13,54,[...]". No i w tym momencie mam problem, którego nie potrafię rozwiązać, ponieważ oczywiście relacja przestała działać. I to był błąd, bo powinieneś dodać dodatkową tabelę, w której mógłbyś tworzyć relacje xPost.id -> xCategory.category_id, bo rozumiem, że problem polegał na tym, że jedno coś tam z tabeli xPosts mogło należeć do więcej niż jednej kategorii, tak? Zamiast kombinować z tworami w stylu listy kategorii rozdzielonej przecinkami, lepiej dodaj sobie tę tabele pośrednią. Cytat Tak, jestem SQLowym leszczem. Czy mimo to mogę liczyć na Waszą pomoc? Dlaczego wszyscy początkujący na tym forum, jak mają jakieś problemy i piszą pierwsze posty, jadą z takimi tekstami: "Wiem, jestem cienki" , "Tak, wiem, nic nie umiem" i podobne... Macie jakieś kompleksy czy jak? Qrde, nikt nie urodził się jako guru PHP. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 4 Dołączył: 9.10.2007 Skąd: Morąg Ostrzeżenie: (0%) ![]() ![]() |
do takiej struktury jaka stworzyles zamiast
mozna dac
pod warunkiem ze pole xPost.cat_id wyglada tak: 1,2,3...n Ten post edytował gutek84 11.08.2009, 14:32:40 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 3.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Niestety, nic to nie daje (IMG:style_emoticons/default/sad.gif) Struktura pola jest taka jak napisałeś, tzn 1,2,3, itd, ale nie wiedzieć czemu zliczane są tylko pierwsze wartości, tzn np dla pola "6,13,7,8" brana jest pod uwagę tylko 6-tka, nie wiem w czym problem :/ |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 21:36 |