![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 13.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich
Mam następujący problem. W większości katalogów firm lub stron istnieje możliwość przypisania jednej firmy lub strony do kilku branż. Mam oczywiście stworzoną oddzielną tabele zawierającą branże i oddzielną tabelę dla firm. --------------------------------------------- w przypadku jeśli pozostawiam możliwość przypisania firmy tylko do jednej branży nie ma problemu: SELECT * FROM jakas_tabela WHERE branza = '$id_branzy' ---------------------------------------------- Rozwiązałem to tak, że do bazy dodałem dodatkowe pola: branza_1, branza_2, branza_3, branza_4 problem pojawia się przy próbie pobierania danych i przeszukiwaniu wg tych kryteriów: SELECT * FROM jakas_tabela WHERE (branza = '$id_branzy' OR branza_1 = '$id_branzy' OR branza_2 = '$id_branzy' OR branza_3 = '$id_branzy' OR branza_4 = '$id_branzy') To rozwiązanie oczywiście jest nieoptymalne a użycie operatora OR w takiej ilości sprawia, że na wyniki trzeba czekać bardzo długo. Jeśli macie jakiś gotowy i wydajny sposób na przypisywanie jednej firmy do kilku branż i skuteczny przeszukiwanie bazy (pobieranie wyników) Za podrzucenie rozwiązania wyznaczam nagrodę 50 zł (przelew na konto) Pozdrawiam D |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 09:58 |