Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwanie wg. relacji nierówności w stosunku do klucza obcego, pytanie o zapytanie SELECT
dfs
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.02.2009

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


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ć(IMG:style_emoticons/default/questionmark.gif) Wbrew pozorom nie wystarczy przecież
  1. (...) pk.id_pytanie != 10


Ten post edytował dfs 23.09.2010, 05:46:29
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. SELECT a.* FROM kategoria
  2. WHERE id NOT IN (SELECT id_kategoria FROM przypisanie_kategorii WHERE id_pytanie = 10 GROUP BY id_kategoria)
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: 24.08.2025 - 13:28