Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Relacja do tej samej tabelii
Forum PHP.pl > Forum > Przedszkole
DerekDX
Witam, muszę stworzyć zapytanie które wyświetla mi kto stworzył użytkownika, jako, że mam jedną tabelę z użytkownikami muszę stworzyć referencję do tej samej tabelii

  1. SELECT `users`.`login`,`users`.`name`,`users`.`surname`,`users`.`email`,`users`.`telephone`,`users`.`on_off`,`users`.`create_time`,`group`.`group_name`,`users`.`login` FROM `users`
  2. INNER JOIN `group` ON (`users`.`group`=`group`.`group_id`)
  3. INNER JOIN `users` ON(`users`.`create_by`=`users`.`user_id`);


wyskauję mi błąd Not unique table/alias: 'users'
Gość
Cytat(DerekDX @ 2.11.2012, 21:52:13 ) *
wyskauję mi błąd Not unique table/alias: 'users'


a czego w tym nie rozumiesz ?

  1. INNER JOIN `users` u2 ON(`users`.`create_by`=u2.`user_id`);


nie analizuje tego zapytania i nie chce nawet myśleć jak jest niewydajne ale wykonać sie wykona
Zielonkawy18
"nie analizuje tego zapytania i nie chce nawet myśleć jak jest niewydajne ale wykonać sie wykona "

Kolejny, która rzuca półsłówka. To tak jak ja napiszę "DISTINCT jest mniej wydaje niż NOT EXIST". Skoro zaczynasz coś krytykować opowiedz o tym, a nie "gdzieś przeczytałem coś usłyszałem". Forum ma chyba czemuś służyć no nie?
kpt_lucek
Więc tak, czytając zapytanie które nam podałeś dochodzę do wniosku iż nie do końca przekazałeś nam to o co CI chodzi.

Mianowicie:
a) jest sobie użytkownik który tworzy konto innego użytkownika
cool.gif w momencie wykonania akcji jest dodany wpis do tabeli przetrzymującej użytkowników, oraz wpis do tabeli która przetrzymuje informacje o owej akcji (dodanie użytkownika)

Czyli, chcesz na podstawie dwóch tabel uzyskać interesujące Cię informacje?
(jeżeli jestem w błędzie to proszę popraw, bo w takim wypadku będzie ciężko dojść do dobrego rozwiązania).

//

Jeżeli tak jak napisałem wyżej kożystasz z dwóch lub więcej tabel musisz poznać składnię MYSQL JOIN, gdyż w Twoim zapytaniu pytasz się przykładowo:
  1. SELECT `users`.`login`,`users`.`name`,`users`.`surname`,`users`.`email`,`users`.`telephone`,`users`.`on_off`,`users`.`create_time`,`group`.`group_name`,`users`.`login` FROM `users`


Zwróć uwagę na tą część zapytania:
  1. SELECT (...)`group`.`group_name`(...)` FROM `users`


Jak będziesz miał dalsze pytania, to pytaj, na tą chwilę odsyłam do: MYSQL JOIN
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.