![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 1 Dołączył: 10.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Mam 3 tabeli
tabela_1a (W ORYGINALE NAZYWA SIĘ tp): id | pid | name --------------- 1 | 0 | nazwa tabela_1b (W ORYGINALE NAZYWA SIĘ ptk): id | pid | name --------------- 1 | 0 | nazwa (muszą być 2 tabeli o identycznej strukturze, bo jedna tabela zawiera dane jednej firmy, a druga drugiej firmy, o półączeniu tych tabel nie ma mowy, bo w takiej formie je zastałem) tabela 2: id | id_od* | skad | dokad | id_do ---------------------------------------------- 1 | 1 | tabela_1a| info** | info** * klucz obcy tabeli tabela_1a lub tabela_1b ** - pobieram z $_GET["zmienna"] Tabela 2 zawiera dane: id - wiadomo id_od - wskazuje na id elementu z tabeli tabela_1a LUB tabela_1b skad - wskazuje na tabelę tabela_1a LUB tabela_1b dokad - to takie tam mało ważne info id_do - na podstawie tego chcę oprzeć całe zapytanie, zmienną tą pobieram z $_GET["zmienna"] Tabela 2 gromadzi tzw raportowania, wiele jednostek z tp może raportować do wielu jednostek z ptk i na odwrót, więc wskazuje najpierw ID jednostki raportującej, później jest nazwa firmy (tp lub ptk) skąd idzie raport, później jest wskazanie firmy do której idzie raport (tp lub ptk) a później wskazanie ID jednostki do której idzie raport. i teraz co chcę zrobić: chcę pobrać id i name z tabeli albo tabela_1a, albo z tabela_1b w zależności od tego co jest w polu skad tabeli tabela 2 może być taka sytuacja, że dane id i name są pobierane z obu pierwszych tabel, a może być, że tylko z jednej z nich. Jak takie zapytanie wykonać? Próbowałem tak: SELECT t.name, upper(r.skad) AS skadDuze, r.skad AS skadMale FROM (SELECT skad FROM raporty WHERE id_do = 62) AS tabela t, raporty r WHERE r.dokad = 'tp' AND r.id_do = 62 AND r.id = t.id AND UNIX_TIMESTAMP( t.start ) <= UNIX_TIMESTAMP( DATE( NOW( ) ) ) AND UNIX_TIMESTAMP( t.stop ) >= UNIX_TIMESTAMP( DATE( NOW( ) ) ) czyli wykorzystując podzapytanie, które mi sprawdza wartosc pola skad i na podstawie tego generuje nazwe tabeli do dalszych zapytan, ale to nie działa ![]() Ten post edytował miedzna 20.02.2009, 13:41:43 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 12:36 |