Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: lista brakujących rekordów
Forum PHP.pl > Forum > Bazy danych > MySQL
DeyV
Mam taką relację:

materiały: id, typ ...
tłumaczenia: id, materiał_id, lang_id, text

gdzie materiały.id == tłumaczenia.lang_id

A teraz potrzebne jest mi zapytanie, które pozowli na pobranie wszystkich materiałów dla których nie ma jeszcze tłumaczenia w danym języku.
I ... nie wiem, czy to pora taka, czy co winksmiley.jpg - nie wiem jak się za to zabrać.

z góry dzięki za pomoc.
Indeo
Wreszcie ktoś normalnie opisał relację smile.gif
To bardzo proste. Musisz do tabeli MATERIALY lewostronnie podłączyć tabelę TLUMACZENIA. Wtedy rekordom z tabeli MATERIALY, dla których nie znaleziono odpowiednika w drugiej tabeli zostaną przypisane wartości NULL i to własnie po nich rozpoznasz rekordy z tabeli MATERIAŁY nie mające odpowiednika w TLUMACZENIA.

Czyli:

  1. SELECT material.id,material.typ,tlumaczenia.lang_id
  2. FROM materialy LEFT JOIN tlumaczenia ON materialy.id=tlumaczenia.lang_id
  3. WHERE tlumaczenia.lang_id IS NULL
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.