Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]SELECT jednej kolumny(distinct) z X tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
ostry400
Witam

Siedzę i głowię się nad tym rozwiązaniem ale niestety wszędzie znajduje proste łączenie kilku różnych tabel jako relacje.

Posiadam tabele ogólną w której mam spis wszystkich wydarzeń:
tam jest IDjako klucz główny oraz id_wydarzenia jako klucz obcy oraz id_organizator i kilka innych nieistotnych kolumn

Każde wydarzenie ma swoją tabelę w której zapisują się chętni na to wydarzenie nazywa się tak samo jak id_wydarzenia
i w niej jest pole np miasto.

Teraz pytanie potrzebuje znaleźć wszystkie miasta(distinct) danego organizatora.

Próbowałem podzapytaniami

SELECT miasto FROM (SELECT id FROM zawody WHERE id_organizator='xxxx')

generalnie problem jest juz tu jeśli wezme na sztywno 2 tabele:

SELECT miasto FROM x122,x110

Rozumiem że powinno być np

SELECT x.122miasto, x110miasto FROM x122,x110

Z join też nic z tego bo jak dodać niewiadomą ilość tabel questionmark.gif może ich być 30 a może być 1 ?

Prosze o nakierowanie gdzie szukac rozwiązania. Może to jest prostsze niż budowa cepa ale za daleko szukam ?

Pozdrawiam i z góry dzięki za pomoc
trueblue
Jeśli każde wydarzenie ma swoją tabelę, to masz źle zaprojektowaną bazę danych.

A póki co:
SELECT
UNION
SELECT
UNION
...
SELECT
ostry400
No niestety tak musi być zbudowana bo nie wyobrażam sobie 100 zapytan w jednym momencie z jednej tabeli która ma 50 000 rekordow do której dane mogą być wpisywcmane updatowane i odczytywane w tym samym momencie. Użytkownicy mogą się dopisywać oglądać listy edytować na 100 różnych wydarzen.

A raz w tygodniu każda tabela jest maltretwoana średnio co 30 s przez 3 do 10h w sensie edytowana nie mówiąc już o wyświetlaniu danych z tej i 3 innych tabel dla tego wydarzenia czasem przez nawet 500 osob.

Więc jeśli moja baza nadal jest złe zaprojektowana to proszę o info chętnie poznam nowe pomysły które mogą przyspieszyć działanie

To jest dla mnie bardziej bajer i uproszczenie niż rzecz niezbędna

Union też nie do końca mnie urządza bo nie wiem ile tych tabel będzie .
Jeśli niema tu prostego rozwiązania to zrobię to 2 petlami w PHP smile.gif to będzie używane kilka może kilkanaście razy do roku tongue.gif

Dzięki za zainteresowanie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.