Mam w bazie danych 4 kategorie
a
b
c
d
Zalozmy ze kategoria a jest przypisana do ogloszenia o id 1

Zapytanie ktore stworzylem wyswietla kategorie przypisane do ogloszemnia o id 1 - czyli np kat a.
Jak przerobic to zapytanie zeby wyswietlalo kat b,c,d?

  1. SELECT sos_categories.* FROM sos_news JOIN sos_news_categories ON sos_news.news_id = sos_news_categories.news_id JOIN sos_categories ON sos_categories.categories_id = sos_news_categories.categories_id WHERE sos_categories.categories_active = '1' AND sos_categories.categories_type = 'news' AND sos_news.news_id ='1'


  1. (SELECT sos_categories.categories_id, sos_categories.categories_name FROM sos_categories
  2. WHERE sos_categories.categories_active = '1' AND sos_categories.categories_type = 'news')
  3. MINUS
  4. (SELECT sos_categories.categories_id, sos_categories.categories_name
  5. FROM sos_news
  6. JOIN sos_news_categories
  7. ON sos_news.news_id = sos_news_categories.news_id
  8. JOIN sos_categories
  9. ON sos_categories.categories_id = sos_news_categories.categories_id
  10. WHERE sos_categories.categories_active = '1' AND sos_categories.categories_type = 'news' AND sos_news.news_id ='1')


Teoretycznie cos takiego powinno zadzialac. Tylko w Mysql nie ma operatora MINUS i nie wiem jak to zamienic.