Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> JOIN tabeli z nazwą zapisaną w bieżącej kolumnie?
ebe
post
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 23.01.2004

Ostrzeżenie: (0%)
-----


Mam problem chcę dynamicznie dołączać poprzez join tabelę której nazwa jest podana w tabeli do której ma być dołączona tabela

  1. SELECT *
  2. FROM nodes n
  3. JOIN models m ON (n.model = m.id)
  4. JOIN m.class o ON(n.element_id = o.id)
  5. WHERE n.id = 1


m.class jest kolumną tabeli models dołączonej do tabeli nodes, w tej kolumnie trzymane są nazwy tabel. Oczywiście w obecnej formie to nie działa bo mysql traktuje m.class jako nazwę tabeli a ja chcę aby pobierał wartość m.class i dołączał tabelę w zależności od zawartości kolumny m.class. Mam nadzieję, że jasno się wyraziłem. Czy wogóle taki trck jest możliwy w mysql?

Ten post edytował ebe 7.05.2005, 20:33:13


--------------------
Słyszałem, że macie tutaj jakieś takie php... fajne to, dobre to jest?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
behemot
post
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 17.07.2003
Skąd: Tarnów/Kraków

Ostrzeżenie: (0%)
-----


Witam,

Musisz uzyc podzapytan. Sa juz podobno w wersji mySQL 4.1. Wtedy Twoje zapytanie bedzie wygladalo jakos tak:

  1. SELECT *
  2. FROM nodes n
  3. JOIN models m ON (n.model = m.id)
  4. JOIN (SELECT nazwa_tabeli FROM models) o ON(n.element_id = o.id)
  5. WHERE n.id = 1


Ale czy w zlaczaniu sie da podzapytania wykorzystac to nie wiem. Musisz sprawdzic.

Pozdrawiam,
kuba
Go to the top of the page
+Quote Post
ebe
post
Post #3





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 23.01.2004

Ostrzeżenie: (0%)
-----


Dzięki, ale to nie zadziała. Tego w Mysql chyba się nie da zrobić, cóż będę musiał dobierać dane innym zapytaniem nie będzie to zbyt optymalne, ale zadziała.

Ten post edytował ebe 8.05.2005, 10:55:39


--------------------
Słyszałem, że macie tutaj jakieś takie php... fajne to, dobre to jest?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 07:29