Versio

Query hulp gevraagd

Overzicht Reageren

Bienze onbekend

Bienze onbekend

13/10/2008 15:30:00
Quote Anchor link
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!
Gewijzigd op 01/01/1970 01:00:00 door Bienze onbekend
 
PHP hulp

PHP hulp

25/05/2012 13:44:13
Gesponsorde koppelingen:
 
Henk PHP

Henk PHP

13/10/2008 15:38:00
Quote Anchor link
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.
 
Nicoow Unknown

Nicoow Unknown

13/10/2008 16:07:00
Quote Anchor link
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
Gewijzigd op 01/01/1970 01:00:00 door Nicoow Unknown
 
Eddy Erkelens

Eddy Erkelens

13/10/2008 18:30:00
Quote Anchor link
Iets als dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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

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 .
 



Overzicht Reageren

Get Adobe Flash player