[MySQL query]Hoe 3 tabellen tegelijk selecteren voor specifieke gegevens

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kvdd

kvdd

10/06/2008 12:14:00
Quote Anchor link
Normaal kan ik al verschillende tabellen selecteren (LEFT JOINS gebruikte ik altijd daarvoor), maar wat ik nu wil kom ik na 2(!) uur nog niet uit. Vandaar even een topic hier.

Ik versimpel even mijn probleem en laat niet alle tabellen zien.

Tabellen / velden:
1) Login: u_id, u_voornaam, u_locatie
2) Locaties: loc_id, loc_naam (loc_id komt overeen met u_locatie)
3) Uren: u_id, uren_begin, uren_eind

Ik wil:
- Gegevens van gebruikers selecteren uit bepaalde vestigingen.
- Daarbij de voornaam van de desbetreffende persoon,
- En het aantal uren van die persoon

Dus alle uren van gebruikers uit locatie 1 en 2 bijvoorbeeld, met daarbij de juiste gegevens, begin eind, voornaam.

Nu ben ik uren aan het zooien geweest, maar ik kom er gewoon niet uit.

Kan iemand een klein voorbeeld geven?
 
PHP hulp

PHP hulp

22/05/2024 03:26:35
 
Joren de Wit

Joren de Wit

10/06/2008 12:29:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT
  loc.loc_naam,
  l.u_voornaam,
  SUM(u.uren_eind - u.uren_begin) AS aantal_uren
FROM
  locaties AS loc
INNER JOIN
  login AS l
    ON l.u_locatie = loc.loc_id
INNER JOIN
  uren AS u
    ON u.u_id = l.u_id
WHERE
  loc.loc_id IN (1, 2)
GROUP BY
  loc.loc_naam,
  l.u_voornaam

Zoiets zal dat waarschijnlijk worden...
 
Jurgen assaasas

Jurgen assaasas

10/06/2008 12:41:00
Quote Anchor link
Flinke query is dat, misscien handig om hier een view van te maken.
 
Kvdd

kvdd

10/06/2008 13:14:00
Quote Anchor link
@Blanche, dat is em in 1 keer!
De INNER JOIN heb ik nooit gebruik, ik heb wel alle typen joins gelezen, en daar de left join uitgepakt. Daar kon ik mee uit de voeten tot nu toe, dus dat wordt tutorials lezen en flink veel doen met de overige join methoden.

@Jurgen, wat bedoel je met een view?
 
Joren de Wit

Joren de Wit

10/06/2008 13:22:00
Quote Anchor link
SQL Joins

Deze tutorial geeft een duidelijk overzicht van de verschillende typen joins en hetgeen ze doen...
 
Kvdd

kvdd

12/06/2008 11:49:00
Quote Anchor link
Duidelijke tut!

Trouwens dit is erg vreemd, ik probeer een DATA_FORMAT over een TIMEDIFF te doen, wil niet werken.

DATE_FORMAT(TIMEDIFF(u.uren_eind, u.uren_begin),'%H:%i') AS totaal
 
Joren de Wit

Joren de Wit

12/06/2008 11:56:00
Quote Anchor link
Quote:
wil niet werken
Wat gebeurt er dan? Krijg je een foutmelding? Welke output krijg je wel die je niet verwacht?
 
Kvdd

kvdd

12/06/2008 11:59:00
Quote Anchor link
Nou ik krijg 00:00 als totaal, en geen foutmelding. Intussen heb ik de oplossing gevonden: http://www.experts-exchange.com/Database/MySQL/Q_22137332.html

Ik moet TIME_FORMAT gebruiken en geen DATE_FORMAT. Klinkt heel logisch, maar ik heb TIME_FORMAT nooit gebruikt ;-)
 
Erwin Nieuwenhuis

Erwin Nieuwenhuis

12/06/2008 11:59:00
Quote Anchor link
weet er iemand een uitleg/tutorial over view's in MySQL? Ik heb op google gezocht, maar niets gevonden..
 
Kvdd

kvdd

12/06/2008 12:10:00
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.