Hallo zusammen
ich habe eine Problem mit einer Aneinanderreihung von UNIONs.
Meine Abfrage sieht ungefähr so aus:
(SELECT 1 AS gruppen_id, id, name, beruf
FROM jobs
WHERE beruf ILIKE ‘Maler’)UNION
(SELECT 2 AS gruppen_id, id, name, beruf
FROM jobs
WHERE beruf ILIKE ‘Lackierer’)UNION
(SELECT 3 AS gruppen_id, id, name, beruf
FROM jobs
WHERE beruf ILIKE ‘Gärtner’)UNION
(SELECT 4 AS gruppen_id, id, name, beruf
FROM jobs
WHERE beruf ILIKE ‘Teichbauer’).
.
.
Mein Problem ist jetzt, dass eine Person beispielsweise mehrere Berufe haben kann z.B. Maler und Lackierer.
Mit dieser Aneinanderreihung von UNIONs bekomme ich nun allerdings auch doppelte Einträge, da die Person eben bei Maler und Lackierer drinsteht. Ich möchte aber nur “unterschiedliche” Ergebnisse und keine doppelten Einträge.
Es soll aber auch noch gewährt bleiben, dass ich diese auch bekomme, wenn ich nur eine Berufsgruppe abfrage wie z.B.:
SELECT id, name
FROM jobs
WHERE group_id = 2
Ich bekomme dies einfach nicht hin.
Hat jemand eine Idee, wie ich das umsetzen könnte?
Vielen Dank schon einmal im Voraus!
LG,
Benni