Query hulp gevraagd
Hoi,
Ik ben al een paar uur aan het klooien met een query, maar ik kom er niet uit.
Ik wil per medewerker een overzicht hebben van:
1) Naam van de medewerker
2) Naam van zijn leverancier
3) Naam van het project waar de medewerker het laatste op geregistreerd heeft
- Selecteer hierbij alleen de projecten met status 1
4) Naam van de opdrachtgever van het project
Vooral met punt 3 heb ik moeite.
[leverancier]
- id
- naam
[medewerker]
- id
- leverancier_id
- naam
[opdrachtgever]
- id
- naam
[project]
- id
- opdrachtgever_id
- naam
- status
[registratie]
- user_id
- project_id
- datum
Hopelijk kan iemand mij verder helpen!
Thnx!
Ik ben al een paar uur aan het klooien met een query, maar ik kom er niet uit.
Ik wil per medewerker een overzicht hebben van:
1) Naam van de medewerker
2) Naam van zijn leverancier
3) Naam van het project waar de medewerker het laatste op geregistreerd heeft
- Selecteer hierbij alleen de projecten met status 1
4) Naam van de opdrachtgever van het project
Vooral met punt 3 heb ik moeite.
[leverancier]
- id
- naam
[medewerker]
- id
- leverancier_id
- naam
[opdrachtgever]
- id
- naam
[project]
- id
- opdrachtgever_id
- naam
- status
[registratie]
- user_id
- project_id
- datum
Hopelijk kan iemand mij verder helpen!
Thnx!
Gewijzigd op 01/01/1970 01:00:00 door Bienze onbekend
Gesponsorde koppelingen:
Kan je even een SQL dump sturen van je tabellen? Dan gooi in hem in mijn localhost en probeer ik even een query te maken.
je mist iig een veld, of misschien wel een tabel, jij maakt namelijk nergens een link tussen werknemer en project.
Misschien dat als je die hebt het wel lukt?
EDIT laat maar, staat bij registratie
Misschien dat als je die hebt het wel lukt?
EDIT laat maar, staat bij registratie
Gewijzigd op 01/01/1970 01:00:00 door Nicoow Unknown
Iets als dit:
Ik denk niet dat de laatste subquery werkt, maar het zal wel in de richting gaan.
Beetje spelen etc.
Wellicht is een INNER JOIN ook aan te raden.
Daarna nog wat GROUP BY etc .
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
SELECT m.naam, l.naam, p.naam, o.naam
FROM medewerker AS m
LEFT JOIN leverancier AS l
ON ( m.leverancier_id = l.id)
LEFT JOIN project AS p
ON (
(
SELECT r.project_id
FROM registratie AS r
WHERE r.user_id = m.id
AND p.status = 1
) = p.id)
GROUP BY m.id
FROM medewerker AS m
LEFT JOIN leverancier AS l
ON ( m.leverancier_id = l.id)
LEFT JOIN project AS p
ON (
(
SELECT r.project_id
FROM registratie AS r
WHERE r.user_id = m.id
AND p.status = 1
) = p.id)
GROUP BY m.id
Ik denk niet dat de laatste subquery werkt, maar het zal wel in de richting gaan.
Beetje spelen etc.
Wellicht is een INNER JOIN ook aan te raden.
Daarna nog wat GROUP BY etc .



