Hej mam nastepujacy problem, mianowicie mam sobie pewna strukture bazy

id|...| object_name

object_name okresla tabele z ktorej mam wybrac dane... mam kilka tabel object
np
object_folder,
object_article

struktura tych tabel jest po czesci podobna, gdyz posiadaja pole
id relacja miedzy tabelami jest prosta id <-> id chodzi o to ze w tej chwili nie potrafie jednym zapytaniem wyciagnac wszystkich dnaych z 1 tabeli i odpowiednio dolaczyc dane z odpowiedniej tabeli object. W chwili obecnej wykonuje do kazdego rekordu dodatkowe zapytanie, co nie jest efektywne. Moglbym tez zebrac wszystkie id z pierwszej tabeli i wykonac zapytanie
  1. SELECT *
  2. FROM object_name WHERE id IN( 1,4,6...)
co da w efekcie ze na jeden rodzaj obiektu wykonam jedno zapytanie a nie wiele, jednak to tez potrafi wygenerowac duzo zapytan. Czy jest wlasnie mozliwosc wykonania takiej relacji w jednym zapytaniu?

Kombinowalem tez zeby zrobic
  1. SELECT
  2. *
  3. FROM tabela1 LEFT JOIN object_folder ON ( tabela1.id=object_folder.id )
  4. LEFT JOIN object_folder2 ON ( tabela1.id=object_folder2.id )
  5. LEFT JOIN object_folder3 ON ( tabela1.id=object_folder3.id )
  6. LEFT JOIN object_folder4 ON ( tabela1.id=object_folder4.id )
  7. ...


ale nie wiem czy to nie zajezdzi bazy...

Dodatkowa wskazowka jest to ze jeden wpis z tabeli pierwszej (ID) istnieje tylko w jednym obiekcie

pozdrawiam...

EDIT
  1. @join_table:=concat('object_', o.name ),
  2. @join_table AS object_name

ustawiam sobie w SELECT zmienna w sposob powyzszy OBJECT_NAME ma wartosc
i jest ok... poprawnie przypisuje mi zmodyfikowana wartosc do zmiennej
poprawna, wiec teraz musze tylko wstawic ja w JOIN, ale
  1. LEFT JOIN @join_table AS jt ON ( tabela1.id=jt.id )

Z tym ze wysypuje sie blad skladniowy

znalazlem adnotacje w manualu mysql
Cytat
http://dev.mysql.com/doc/mysql/en/variables.html

Be aware that the following does NOT work:
SET @TABLENAME="db";
SELECT * FROM @TABLENAME;

:/