![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 10.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam problem z ułożeniem prawidłowego zapytania - oto sytuacja: mam trzy tabele tabela 1 skrzynka_informacyjna która zawiera takie kolumny (id_info, autor_id, tresc_informacji, data_informacji) tabela 2 uczen (id_uczen, imie, nazwisko) tabela 3 nauczyciele (id_nauczyciel, imie_i_nazwisko) chodzi mi o wyświetlenie dwukolumnowej tabeli wynikowej która będzie zawierała imie i nazwisko autora informacji i treść informacji - tyle że autorem może być zarówno uczen jak i nauczyciel i nazwę tę musze wyciągnąć z dwóch różnych tabel (uczen i nauczyciele) natomiast tresc_informacji jest w tabeli skrzynka informacyjna. spróbowałem takiego oto zapytania ale coś nie tak - wyświetla mi zero wierszy
Ten post edytował Diariusz 20.12.2011, 21:21:31 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Zauważ, że przy takiej budowie bazy danych uczeń i nauczyciel mogą mieć takie samo id. Nie rozumiem, po co w ogóle taki podział. Lepiej byłoby utworzyć jedną tabelę użytkowników z kolumną rola, w której określałbyś, czy użytkownik jest uczniem, czy też nauczycielem. W ostateczności tabela użytkowników mogłaby zawierać np. tylko dane do logowania i rolę, i mogłaby być połączona relacją jeden do jednego z tabelami uczen i nauczyciele, natomiast wszędzie posługiwałbyś się identyfikatorem użytkownika.
W swoim zapytaniu zamień INNER JOIN na LEFT JOIN i powinno działać. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 08:40 |