Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Łączenie tabel i problem z zapytaniem
Ureus
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.11.2003
Skąd: Dąbrowa Górnicza

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


Mam problem z utworzeniem zapytania sql, a tak naprawdę to skończyły mi się pomysły jak to zrobić. Przechodząc do meritum, mam 2 tabele:

Kod
TABELA A
IDJob    nazwa
------------------------------------
  1        robotnik
  2        sprzedawca w sklepie
  3        kierowca
  4        malarz
  8        modelka
  10      pomoc w hospicium

TABELA B
IDJobG  IDGracz  IDJob
------------------------------------
   1       36     3
   2       34     2


Co chciałbym osiągnąć?
Wyświetlić wszystkie rekordy z tabeli A oraz dopasować do nich wybranego gracz (IDGracz=36):

Kod
TABELA A
IDJob    nazwa                      IDGracz
---------------------------------------------
  1        robotnik                 NULL
  2        sprzedawca w sklepie     NULL
  3        kierowca                 36
  4        malarz                   NULL
  8        modelka                  NULL
  10      pomoc w hospicium         NULL


Próby z JOINami przynosiły mi taki efekt że otrzymywałem wynik zbliżony do powyższego, przy czym odpadał mi rekord z IDJob=2 bo dla tego zawodu występuje już rekord w tabeli 2.

  1. SELECT *
  2. FROM tabelaA AS ta
  3. LEFT JOIN tabelsB AS tb ON ta.IDJob=tb.IDJob
  4. WHERE tb.IDGracz=36
  5. OR tb.IDGracz IS NULL


wynik zapytania:

Kod
TABELA A
IDJob    nazwa                      IDGracz
---------------------------------------------
  1        robotnik                 NULL
  3        kierowca                 36
  4        malarz                   NULL
  8        modelka                  NULL
  10      pomoc w hospicium         NULL


Może się poprostu biorę za to od złej strony. Ktoś naprowadzi?

Problem rozwiązany z pomocą kolegi:

  1. SELECT *
  2. FROM tabelaA AS ta
  3. LEFT JOIN (
  4. SELECT *
  5. FROM tabelaB AS tb
  6. WHERE IDGracz =36
  7. ) AS tc ON ta.IDJob = tc.IDJob
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: 16.09.2025 - 04:15