![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 27.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam 2 tabele: tabela a --------------------------------------- id |kol1 |status |wartosc | --------------------------------------- 1 |30 |bla |qqqq | 2 |40 |blaa |wwww | 3 |44 |blaa2 |eeee | --------------------------------------- nazwa drugiej tabeli uzależniona jest od wartości kolumny kol1 z tabeli a dla konkretnego id, np.: dla id=1 tabela ma nazwę b_30; dla id=2 => b_40; dla id=3 =>b_44, itd. przykładowa tabela b_30: --------------------- id |kol3 |kol4 | --------------------- 1 |bla2 |bla3 | --------------------- Chciałbym wyświetlić zawartość kolumny a.wartosc oraz kol3 i kol4 z drugiej tabeli dla a.status='bla'. Czy macie jakieś pomysły ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 12 Dołączył: 31.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
W MySql nie ma możliwości podania nazwy tabeli jako wartości dynamicznej.
Zakładając że masz skończoną liczbę tabel b_.... to ja bym się chyba pokusił o użycie warunku CASE dla kolumny a.kol1. możesz sobie zrobić procedurę, która pobierałaby jako parametr dwie wartości w1 i w2. w1 to byłaby szukana wartość z a.status w2 to nazwa tabeli - czyli odwołanie do a.kol1 I robisz sobie w procedurze:
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 27.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Dzięki za częściowe rozwiązanie - niestety ilość tabel b_ nie jest skończona. Będę musiał użyć PHP'a i po prostu użyć zmiennej, wykonując 2 zapytania. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:22 |