Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Relacje, łączenie wg. dwóch pól
Pavlosik
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.02.2011

Ostrzeżenie: (0%)
-----


Witam serdecznie,

Zwracam się z zapytaniem/prośbą do Was o pomoc w rozwiązaniu problemu. Otóż posiadam dwie tabele w bazie danych, które muszę połączyć w dość specyficzny sposób.

Tabela 1: zawiera listę wszystkich zarejestrowanych użytkowników
Tabela 2: zawiera listę plików, które zostały oznaczone przez użytkowników jako niezgodne z regulaminem.

Tabela nr 2 zawiera pola:
USER_ID -> wpada tu ID użytkownika z Tabeli1, który oznaczył dany plik za niezgodny
UPLOADER_ID -> ID użytkownika z Tabeli 1, który dodał plik niezgodny z regulaminem

Przybliżony schemat tabel:
Kod
TABELA 1 - spis wszystkich użytkowników

id     username    
1      user1          
2      user2        
3      user3        
4      user4        
5      user5


Kod
TABELA 2 - spis plików nieregulaminowych

id     user_id              uploader_id
1      1                       3
2      2                       3
3      3                       2
4      1                       3
5      1                       4



I pytanie. Jak wyciągnąć z Tabeli1 tylko tych użytkowników, którzy pojawili się w Tabeli2 w polu user_id bądź uploader_id? Musze stworzyć linki do userów na podstawie ich username'a a nie id stąd też trzeba połączyć w jakiś sposób te tabele. Będę bardzo wdzięczny za pomoc:)

Pozdrawiam

Ten post edytował Pavlosik 4.02.2012, 01:36:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


  1. SELECT *
  2. FROM tab2 r
  3. JOIN tab1 u ON u.id=r.user_id
  4. JOIN tab1 x ON x.id=r.uploader_id
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 06:07