![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 2 Dołączył: 20.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabele produkty:
id, product_name,category1_id,category2_id,category3_id oraz kategorie: id, category_id, category_name Oczywiscie category1_id, category2_id oraz category3_id z tabeli produkty odpowiadaja category_id z tabeli kategorie. I czy jest mozliwe za pomoca jednego polecnie uzyskac wynik w postaci: nazwa_produktu,nazwa_kategori1,nazwa_kategori2,nazwa_kategori3 Oczywiscie czy optymalne jest tworzenie jednego zapytania czy lepiej rozbic to na 3 zapytania? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Inna sprawa, że (prawdopodobnie) lepiej było by tabele połączyć relacją wiele do wielu.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 2 Dołączył: 20.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dołączając tabelę kategorii (musisz ją dołączyć 3 razy) nadawaj jej alias np.
Dziekuje za informacje. Dziala wysmienicie! Czy rozbijać to na 3 zapytania? Nie, po co? Zastanawialem sie nad wydajnoscia takiego potrojnego laczenia v 3 osobne zapytania. Ten post edytował prohol 23.06.2010, 06:55:22 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Mchl dobrze napisał, najlepiej byłoby zrobić relacje many-to-many, czyli masz osobno tabele z kategoriami, osobno tabele z produktami i osobno tabele łącząca produkt z kategoriami, wtedy możesz pobrać jednym zapytaniem nazwy kategorii do których produkt należy bez żadnych większych fanaberii.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 2 Dołączył: 20.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mchl dobrze napisał, najlepiej byłoby zrobić relacje many-to-many, czyli masz osobno tabele z kategoriami, osobno tabele z produktami i osobno tabele łącząca produkt z kategoriami, wtedy możesz pobrać jednym zapytaniem nazwy kategorii do których produkt należy bez żadnych większych fanaberii. Jako ze to nie ja projektowalem tabele itp to musze sie dostosowac do tego co mam. Oczywiscie jak bym to robil to bym zrobil tak jak piszesz - 3 powiazane tabele najlepiej oparte na InnoDB i powiazane kluczami obcymi. Niestety tu mam dodatkowo MyIsam... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 17:08 |