![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 27.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mam następujący problem.
Otóż mam dwie tabele: User (z nazwami użytkowników) i Dzial (z nazwami działów). W tabeli Dzial mam m. in. pola: ID_User (z kluczem obcym odwołującym się do pola ID w tabeli User) oraz ID_User_mod (ID użytkownika, który zmodyfikował dział, z kluczem obcym również odwołującym się do pola ID w tabeli User). Pytanie: W jaki sposób wyciągnąć dwa razy (lub więcej) z tabeli User: Imię i Nazwisko (tabela User zawiera takie pola), dla różnych ID Usera (jedno dla ID_User - autora działu, a drugie dla ID_User_mod dla osoby, która zmodyfikowała dział)? Oto mój kod:
Chodzi głównie o zapytanie w sql.
Może podzielić to na dwa zapytania? Ale w jaki sposób później wstawić obydwa zapytania do jednej tabeli? Z góry dzięki za pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
musisz tutaj użyć LEFT JOIN, będzie to wyglądało mniej więcej tak:
- czyli pobieramy dane z tabeli section(dział); - pierwszy LEFT JOIN pobierze nam dane z tabeli users dla moderatora łącząc id użytkownika z id moderatora - drugi LEFT JOIN pobierze dane dla autora - staraj się trzymać jednolitą nomenklaturę albo ang albo pl, lepiej ang; - zamiast tego pierwszego select lepiej zrobić 2 selecty w pierwszym pole w drugim rosnąco/malejąca, a w <option value trzymać nazwę kolumny, po ktorej sortujesz, pozbędziesz się tak tego switcha bo jest tu nie potrzebny, oczywiście nie zapomnij o walidacji |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 27.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za szybką odpowiedź. Spróbuję zastosować twoje rozwiązanie.
Mam takie zapytanie, ale jest w nim jakiś błąd. Nie mogę go znaleźć .
A jak mam później wyświetlić wyniki? Już sobie poradziłem. Moje zapytanie wygląda następująco:
Dziękuję za pomoc w ukierunkowaniu mnie na właściwe rozwiązanie. Daję "pomógł". Temat można zamknąć. Pozdrawiam. Ten post edytował brutal1985 29.08.2011, 20:59:39 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 02:59 |