[sql] nazwa tabeli jako wynik innego zapytania

0

Witam. Jak pod nazwę tabeli wstawić ciąg który zwraca inne zapytanie np.:

Pseudo kod:
SELECT costam FROM (SELECT nazwa_tabeli FROM inna_tabela WHERE id='costam')

Czyli nie znam nazwy tabeli z której chce pobrać dane, ponieważ ta nazwa znajduje się w inna_tabela w polu nazwa_tabeli gdzie id jest równe costam.

Czy da się jakoś w jednym zapytaniu wykonać takie zagnieżdżenie?

0

Tak się nie da, przy zagnieżdżaniu zapytań w sekcji from musisz zrobić zapytanie które zwróci też tabelę, bo z niej będą wyciągane kolejne wiersze.

SELECT * FROM (SELECT * FROM x) - podzapytanie stworzy tymczasową tabelę zawierającą wszystkie wartości z x, a następnie zewnętrzne zapytanie wybierze rekordy z tej tymczasowej tabeli.

0
nav napisał(a)

Tak się nie da, przy zagnieżdżaniu zapytań w sekcji from musisz zrobić zapytanie które zwróci też tabelę, bo z niej będą wyciągane kolejne wiersze.

A czy w takim razie, da się osiągnąć to, co ja bym chciał? Może jakoś inaczej?

Bo ja naprawdę nie będę znać nazwy tej tabeli. Ona jest zapisana w innej tabeli. Może da się zrobić to w jednym zapytaniu, ale kilkoma instrukcjami oddzielonymi średnikiem? :-/

A jeżeli nie to jak bardzo niepoprawne jest stosowanie kilku zapytań, tzn. jak bardzo to obciąża bazę. Nie mam żadnego doświadczenia.

Ile zapytań maksymalnie może wykonać skrypt przy jednym przeładowaniu strony, tak żeby było elegancko?

1 użytkowników online, w tym zalogowanych: 0, gości: 1