Page 2 of 2 FirstFirst 1 2
Results 16 to 21 of 21

Thread: Selectie uit 2 tabellen waarbij uit tabel 2 max waardes

  1. #16
    @rik Als ik deze query gebruik krijg ik alleen het record te zien van de gebruiker met de hoogste datum en dus niet per gebruiker het meest actuele record.

  2. #17
    Quote Originally Posted by Pascal G++ View Post
    @rik Als ik deze query gebruik krijg ik alleen het record te zien van de gebruiker met de hoogste datum en dus niet per gebruiker het meest actuele record.
    En wat geeft het volgende dan?
    SQL Code:
    1. SELECT mwnummer, MAX(startdatum) AS maxdate
    2. FROM mwtarief
    3. GROUP BY mwnummer

  3. #18
    Dat krijg ik wel netjes het record met de hoogste datum per medewerker.

  4. #19
    Quote Originally Posted by Pascal G++ View Post
    Dat krijg ik wel netjes het record met de hoogste datum per medewerker.
    Dat is raar want dan zou het met die inner join ook goed moeten gaan.

    SQL Code:
    1. SELECT
    2.   mwnummer,
    3.   startdatum,
    4.   tarief
    5. FROM mwtarief m
    6. INNER JOIN (
    7.   SELECT mwnummer, MAX(startdatum) AS maxdate
    8.   FROM mwtarief
    9.   GROUP BY mwnummer
    10. ) AS x ON x.mwnummer=m.mwnummer AND x.maxdate=m.startdatum

  5. #20
    Deze werkt voor de tabel MWTarief. Ik heb een vergelijkbare tabel MWUren (zelfde tabel opbouw) en daar kan ik deze ook gebruiken. Ik loop vast als ik er 1 query van wil maken.

    Dus naam ophalen uit MW, tarief uit MVTarief en uren uit MWUren.

  6. #21
    Quote Originally Posted by Pascal G++ View Post
    Ik loop vast als ik er 1 query van wil maken.
    Was natuurlijk handig geweest als je zelf al aan had gegeven wat je geprobeerd hebt.

    Maar goed. Hier is er één die gecombineerd is.

    SQL Code:
    1. SELECT
    2.   m.naam,
    3.   m.mwnummer,
    4.   t.startdatum,
    5.   t.tarief,
    6.   u.startdatum,
    7.   u.maandag,
    8.   u.dinsdag,
    9.   u.woensdag  
    10. FROM MW m
    11. LEFT JOIN MWTarief t ON t.mwnummer=m.mwnummer
    12. LEFT JOIN MWUren u ON u.mwnummer=t.mwnummer
    13. INNER JOIN (
    14.   SELECT mwnummer, MAX(startdatum) AS maxdate
    15.   FROM MWTarief
    16.   GROUP BY mwnummer
    17. ) AS x1 ON x1.mwnummer=t.mwnummer AND x1.maxdate=t.startdatum
    18. INNER JOIN (
    19.   SELECT mwnummer, MAX(startdatum) AS maxdate
    20.   FROM MWUren
    21.   GROUP BY mwnummer
    22. ) AS x2 ON x2.mwnummer=u.mwnummer AND x2.maxdate=u.startdatum
    Volledig voorbeeld kun je hier vinden:
    http://rextester.com/PJN59371

    Compleet met data

    Code:
    	naam	mwnummer	startdatum	tarief	startdatum		maandag	dinsdag	woensdag
    1	Pascal	1	01.01.2017 00:00:00	150,00	01.02.2017 00:00:00	3	4	5
    2	Rik	2	01.01.2017 00:00:00	160,00	01.02.2017 00:00:00	4	5	6

Page 2 of 2 FirstFirst 1 2

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •