Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Lacznie 3 tabel i wyswietlenie wynikow
czaq
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.08.2008

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


Witam

Mam tabele (najwazniejsze fragmenty):

Karta:
id_karta
..
id_user
data_dodania
...
id_akcja

Akcja:
id_akcja
data
id_user

User:
id_user
nazwisko


Stworzylem sobie zapytanie, przykladowo:
  1. SELECT ka.*, a.*, u.id_user, u.imie_naz, dz.*
  2. FROM karta ka, dzial dz, user u, akcja a
  3. WHERE
  4. ka.id_karta = 1 AND
  5. ka.id_user = u.id_user AND
  6. ka.id_dzial = dz.id_dzial AND
  7. a.id_user = u.id_user AND
  8. a.id_user = u.id_user

które ladnie pokazuje to co chce otrzymac, z wyjatkiem:
Otoz w tym jednym rekordzie w tabeli karta podany id_user=1, a w tabeli akcja id_user=10
Chce zeby wynik koncowy byl np (zgodnie z konstrukcja tabeli karta z poczatku posta):

1, .., 2009-01-01, Nowak, 2009-10-01, Kowalski

Czytalem troche o JOIN-ach ale nie w zab nie moge zrobic tak jak chce...

Prosze o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kefirek
post
Post #2





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


  1. SELECT * FROM Karta k
  2. LEFT JOIN User u USING(id_user)
  3. LEFT JOIN Akcja a USING(id_user)
  4. WHERE k.id_karta=1


Ten post edytował kefirek 29.08.2009, 15:27:20
Go to the top of the page
+Quote Post
czaq
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.08.2008

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


Cytat(kefirek @ 29.08.2009, 16:27:03 ) *
  1. [url="./Pobierz-Plik-156002.html"]pobierz[/url], [url="Plaintext-156002.html"]plaintext[/url] [list=1][*]SELECT * FROM Karta k[*]LEFT JOIN User u USING(id_user)[*]LEFT JOIN Akcja a USING(id_user)[*]WHERE k.id_karta=1[/list][SQL] [url="./Pobierz-Plik-156002.html"]pobierz[/url], [url="Plaintext-156002.html"]plaintext[/url]<!--QuoteEnd--></div><!--QuoteEEnd-->
  2.  
  3. Mam cos takiego, niby pokazuje wszystko co chce, ale w momencie kiedy karta.id_akcja = 0 nie pokazuje nic. Chce zrobic tak zeby bylo TO zapytanie co ponizej, ale rowniez dawalo odpowiedz nawet jezeli id_akcja=0 (czyli nie bylo zadnej)
  4. [sql]
  5. SELECT * FROM karta ka
  6. LEFT JOIN akcja a ON ka.id_akcja
  7. LEFT JOIN user u ON a.id_user
  8. LEFT JOIN user us ON ka.id_user
  9. LEFT JOIN dzial dz ON u.id_dzial
  10. WHERE ka.id_karta=1 AND
  11. u.id_dzial = dz.id_dzial AND
  12. a.id_user = u.id_user AND
  13. ka.id_user = us.id_user AND
  14. ka.id_akcja = a.id_akcja
Go to the top of the page
+Quote Post

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: 22.08.2025 - 13:00