srob: [MYSQL] Suche Hilfe bei kompliziertem Join

Beitrag lesen

SELECT item
FROM
   item AS i,
   i_to_c AS t,
   category AS c
WHERE
   i.id_itm = t.id_itm AND
   t.id_cat = c.id_cat AND
   c.category = 'category'
Jetzt benötige ich aber eine Selektion, in der alle Items der Kategorie 'a' UND alle Items der Kategorie 'b' enthalten sind, OHNE die Items, die in BEIDEN Kategorien enthalten sind!

Hi,

das hört sich nach einer Antivalenz an. Falls nicht, möge man mir verzeihen, ist schon zwanzig Jahre her. Falls doch, und man definiere:

A = (i.id_itm = t.id_itm)
  B = (t.id_cat = c.id_cat)

dann sähe der Ausgang so aus:

Q = (A AND NOT B) OR (NOT A AND B)

Bei der Umsetzung solltest Du auf korrektes Klammern achten!

HTH Robert