• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Externe testers gezocht — Saphaxis AI Chat Organizer 0.1.59

    FreelanceAP 4 november 2026 om 07:42
  • nieuwe game

    tigermaffia 2 november 2026 om 15:21
  • Criminolz

    qevanto 31 oktober 2026 om 20:52
  • [Beta] Ottomaan: gratis browserspel met een echte, levende stad. Feedback gezocht!

    frio 27 oktober 2026 om 12:22
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Jeroen.G 26 oktober 2026 om 10:33
  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    eeyk 22 oktober 2026 om 18:43
  • Crime Club volledig herschreven vanaf nul

    frio 19 oktober 2026 om 23:57
  • Malavita (nieuwe maffia game, van 0)

    jos 19 oktober 2026 om 23:18

Marktplaats

  • [Aanbod] Stadskaart voor je browsergame: van menu naar klikbare stad, vanaf €200

    frio 29 oktober 2026 om 18:17
  • [Verkoop] G4G (Gangsters 4 Gangsters): volledige broncode, nieuw gebouwd in PHP 8.3 | € 30 per domein

    frio 27 oktober 2026 om 18:54
  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 26 oktober 2026 om 00:22

Selecteren van entries uit een tabel met restricties uit een andere tabel

  • L.Groot
  • 9 juli 2015 om 17:13
  • L.Groot
    Elite members
    Berichten
    4.888
    • 9 juli 2015 om 17:13
    • #1

    Hallo iedereen!

    Ik ben weer bezig om de personeelsapp van onze afdeling te verbeteren. Dit wil ik gaan doen door een lijst te maken van medewerkers die op een geselecteerde dag vrij zijn, weer te geven. Het probleem is, dat de SQL structuur daar niet op gemaakt is, en dat ik niet weet met welke query ik dat op kan halen.

    De structuur ziet er als volgt uit:

    Tabel "employees"
    Hierin staan alle medewerkers.
    id int(150)
    name varchar(150)
    name_wh varchar(150)

    Tabel "working_hours"
    Hierin staan alle diensten.
    id int(250)
    employee int(150)
    date date
    code varchar(10)
    from time
    till time

    En de kolom employee uit de tabel employees staat dus gelijk aan het id uit de tabel working_hours.

    En de bedoeling is nu, om uit de tabel employees alle medewerkers te halen die in tabel working_hours op een gespecificeerde dag geen dienst (is gelijk aan entry in de tabel) hebben.

    Zelf dacht ik deze query, maar die geeft alle employees weer, ook die gewoon een dienst hebben op de aangegeven dag.

    SQL
    SELECT name FROM employees LEFT JOIN working_hours ON employees.id != working_hours.employee WHERE working_hours.date='2015-07-09'

    Alvast heel erg bedankt voor het meedenken!


    Groetjes,

    Lars

  • Gast, wil je besparen op je domeinnamen? (ad)
  • FangorN
    Professional
    Artikelen
    2
    Berichten
    737
    • 9 juli 2015 om 22:15
    • #2

    Er moet natuurlijk wel een verband zijn tussen de twee tabellen (de employee id's moeten op een of andere manier overeenstemmen).

    Probeer het eens met (NOT) EXISTS:

    SQL
    SELECT e.name
    FROM employees e
    WHERE NOT EXISTS (
        SELECT w.id
        FROM working_hours w
        WHERE w.employee = e.id
        AND w.date = '2015-07-09'
    )

    Overigens, als je enkel opslaat wanneer iemand niet beschikbaar is zegt dat niets over wanneer iemand wel beschikbaar is.


    Als je bijvoorbeeld maar 4 dagen in de week werkt (ma-do) dan ben je morgen (vr) wel beschikbaar volgens deze query.


    Wordt iemand dan op zijn vrije dag ingeroosterd? :)

    Ik zou dus ook een soort van werktijden table verwachten, maar dan in de zin: wanneer is iemand beschikbaar (de tegenhanger van wanneer is iemand bezet - de working_hours tabel)


    En hier probeer je dus de beschikbaarheid te bepalen via een query, maar zou het niet veel intuïtiever zijn om e.e.a. visueel weer te geven in een soort van timetable / kalender waar (gekleurde) blokken in staan die reeds ingeroosterde uren weergeven? Dan is in één oogopslag duidelijk wie er niet op enig moment beschikbaar is.


    Oh en die "from" kolomnaam is niet heel erg handig gekozen, want dat is een gereserveerd woord :/.

  • webDev
    Beginner
    Berichten
    10
    • 16 juli 2015 om 08:02
    • #3

    dit kan je oplossen door `from` te doen

  • FangorN
    Professional
    Artikelen
    2
    Berichten
    737
    • 16 juli 2015 om 13:47
    • #4
    Citaat van webDev

    dit kan je oplossen door `from` te doen

    Dit kun je ook voorkomen door een handigere naam te kiezen. Je zou ook kunnen gaat voor een variant waarbij je alle kolommen voorziet van een unieke prefix, bijvoorbeeld wh_from. In beide gevallen hoef je geen backticks te gebruiken.

    Tenzij je overal consequent backticks omheen zet (wat nogal bewerkelijk is en de query slechter leesbaar maakt) zou ik (alleen al) in het kader van uniformiteit (en tis gewoon verdomd onpraktisch) dit probleem gewoon op voorhand uit de weg gaan.

    Tevens: /offtopic

  • L.Groot
    Elite members
    Berichten
    4.888
    • 17 juli 2015 om 14:17
    • #5

    Mijn excuses voor deze late reactie! Ik was zo druk, dat ik geen tijd had om te programmeren, maar ben er zojuist weer mee verder gegaan en met behulp van FangorN is het me gelukt.

    Hartelijk dank!!

    Wat betreft de from kolomnaam, daar ben ik het mee eens, het is geen goede keuze voor een kolom.

    Bij ons kun je elke dag ingeroosterd worden, tenzij het je standaard dag vrij is, of je verlof voor aanvraagt. Echter, de app geeft gewoon het rooster weer wat in een ander programma gemaakt is. Deze functie is er om te kijken wie er niet werkt, om zo te kunnen kijken wie eventueel je dienst over kan nemen. Daarin hoeven verder vaste vrije dagen etc. niet in te worden meegenomen.

    Iedereen hartelijk dank voor het meedenken!!

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

ICT Nieuws

  • PHP waarschuwt voor twee ernstige bugs die makkelijk uit te buiten lijken

    Aaron 22 oktober 2026 om 22:19

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 4 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design