Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwanie wg. relacji nierówności w stosunku do klucza obcego
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
dfs
Witam!

Mam taki problem, zdaje się nazywa się to relacją "Wiele do wielu"

otóż mam tabelki:
  • pytanie {id,nazwa}
  • kategoria {id,nazwa}
  • przypisanie_kategorii{id_pytanie,id_kategoria}


Klucze obce zdaje się są tu oczywiste jak również to że każde pytanie może mieć wiele kategorii, każda kategoria może mieć wiele pytań.

Znalezienie kategorii do których jest przypisane pytanie (np. id=10) wygląda następująco:
  1. SELECT k.nazwa FROM przypisanie_kategorii pk, kategoria k
  2. WHERE pk.id_kategoria = k.id AND pk.id_pytanie = 10


Mam problem gdy mając pytanie (np. id=10), chcę wyszukać te kategorie których nie są przypisane do tego pytania. Jak to zrobićquestionmark.gif Wbrew pozorom nie wystarczy przecież
  1. (...) pk.id_pytanie != 10
wookieb
  1. SELECT a.* FROM kategoria
  2. WHERE id NOT IN (SELECT id_kategoria FROM przypisanie_kategorii WHERE id_pytanie = 10 GROUP BY id_kategoria)
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.