Vastbijtertje

Status
Niet open voor verdere reacties.

Erwinm

Nieuwe gebruiker
Lid geworden
6 sep 2007
Berichten
3
Ik heb een tabel met daarin de naam van een onderwerp en een id van dit onderwerp

Voor elk onderwerp kunnen meerdere medewerkers verantwoordelijk zijn in een aantal groepen.

Ik heb een tabel met daarin een id van de medewerkers, een id voor de koppeling van het onderwerp een groepnummer en een beschikbaarheid die aangeeft of een persoon wel (1) of niet (0) beschikbaar is.

Ik wil een query die de onderwerpen met groepen weergeeft, waarbij (per groep) het aantal medewerkers dat beschikbaar is (1) kleiner is dan 2 en waarbij de medewerker zelf niet in de lijst van beschikbaar staat voor die betreffende groep.
Onderstaande tabel voor medewerker 10

Regel Onderwerp id medewerker groep beschikbaar Opm
1 Project A 1 10 A 1 Niet weergeven, medewerker 10
2 Project A 1 11 B 1 Niet weergeven voor B zijn 2 medewerkers
3 Project A 1 11 C 1
4 Project A 1 12 B 1 Zie regel 2
5 Project B 2 10 A 0 Niet weergeven, Medewerker 10 voor groep A opgegeven
6 Project B 2 11 A 1 Zie regel 5
7 Project B 2 11 B 1
8 Project B 2 12 C 0 Niet weergeven, beschikbaar =0
9 Project B 2 13 C 1
-------------------
Ik ben niet zo ervaren met SQL maar ik kom een heel eind, maar deze is wel erg lastig. Wie kan me helpen met een query voor MySql????

Alvast bedankt!!

Erwin
 
Ik denk dat je je antwoord moet gaan zoeken dmv een GROUP BY (groeperen) en een HAVING (conditie op groepsniveau). Ik snap niet exact wat je wilt bereiken, maar ik denk dat je iets moet gaan krijgen in de zin van:

[SQL]
SELECT Onderwerp, Groep
FROM Tabel
WHERE MedewerkerId != 10
GROUP BY Onderwerp, Groep
HAVING SUM(Beschikbaarheid) < 2
[/SQL]

Als dit niet is wat je zoekt, verzoek ik je om iets meer te vertellen over de context van het probleem. Misschien kunnen de tabellen handiger worden ingericht, zodat je dit probleem niet eens zou tegenkomen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan