1

Temat: zapytanie do bazy sql

Witajcie:)
Potrzebuję pomocy w sprawie zapytania do bazy punbb

są następujące tabele

TABELA1 pun_users (w skrócie)

id | username
-----------------
1  |  uzytkownik

TABELA2 pun_profile_fields

id | name
---------------
1 | nazwa_pola


TABELA3 pun_profile_field_entries

e_id | f_id      | value       | u_id
--------------------------------------
1     |  id_pola| wpis_pola | 1

gdzie u_id to id usera na forum

Teraz chciałbym aby wyświetlić taką tabelkę

id | Użytkownik | nazwa_pola
-------------------------------
1 |  użytkownik| wpis_pola


nie wiem, czy to jest jasne
Jak powinno wyglądać takie zapytanie ?

2

Odp: zapytanie do bazy sql

id | Użytkownik | nazwa_pola
-------------------------------
1 |  użytkownik| wpis_pola

Rozumiem, że tak wygląda tabela pun_users? Jeśli tak to:

SELECT id, username, nazwa_pola FROM pun_users WHERE id=1

3

Odp: zapytanie do bazy sql

Hmm, mnie się wydawało, że on chce mieć dane z 2-3 tabel wyciągnięte. Tylko coś zwalił przy ich rysowaniu.

4

Odp: zapytanie do bazy sql

Ale przecież extra profile fields (tak mi się wydaje że elroy chce właśnie z tego skorzystać) dla każdego nowego pola dodaje kolumnę do bazy danych. Czyli wystarczy pobrać dane z tabeli users.

Jeśli jednak to nie jest to o czym myślę to niech elroy wytłumaczy to lepiej wink

5

Odp: zapytanie do bazy sql

To jest tak jak Kane stwierdził. Wyciągnięcie z 3 tabel
Pomógł mi programista ode mnie z firmy, więc podaję rozwiązanie

SELECT u.id,u.username ,
(SELECT t.value FROM pun_profile_field_entries t WHERE t.f_id=1 AND t.u_id=u.id ) ilosc_warek,
(SELECT t.value FROM pun_profile_field_entries t WHERE t.f_id=2 AND t.u_id=u.id ) nazwa_browaru,
(SELECT t.value FROM pun_profile_field_entries t WHERE t.f_id=3 AND t.u_id=u.id) rok_zalozenia
FROM pun_users u

Ostatnio edytowany przez elroy (2008-06-15 16:10:21)