Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 21-05-2004, 23:36
Kerstin
Kerstin is offline
Hoi! Ik heb één tabel met daar inwoners van een bepaald dorp. Nu moet ik een selectie maken zodat ik van elk gezin één inwoner heb, liefst de oudste maar dat is bijkomstig.

Zo ziet de tabel er uit:
ID - naam - straat - huisnr - busnr - geslacht - geboortedatum - ....

De .... is omdat er nog wel wat meer gegevens beschikbaar zijn maar deze hebben we nu niet echt nodig.


Ik krijg wel een query gemaakt dat ik maar 1 record krijg per huis (unique straat-huisnr-busnr combinatie) maar daar dan nog eens de andere gegevens (zoals naam, geslacht, id) er bij te tonen lukt me niet

Wie kan me helpen?
Met citaat reageren
Advertentie
Oud 22-05-2004, 00:14
Rob
Avatar van Rob
Rob is offline
Code:
SELECT DISTINCT huisnr
FROM tabelnaam
Dat zou al ieder gezin eenmaal moeten weergeven (en dan volgens mij de eerste record per gezin). Of dit werkt weet ik niet zeker. Voor de oudste kun je misschien dit doen, maar of het werkt weet ik niet.

Code:
SELECT DISTINCT huisnr
FROM tabelnaam
WHERE (
SELECT max(geboortedatum
FROM tabelnaam
)
Ik heb al een tijdje geen subqueries gedaan, dus of dit werkt weet ik niet. Mijn SQL is niet zo goed meer als dat het ooit was. Sterker nog, ik heb al een tijdje geen SQL meer gebruikt, dus of dit werkt is een andere vraag. >_>;
__________________
Bad spelling and grammar make me [sic].
Met citaat reageren
Oud 22-05-2004, 12:34
Auryon
Auryon is offline
Citaat:
Rob schreef op 22-05-2004 @ 01:14 :

Code:
SELECT DISTINCT huisnr
FROM tabelnaam
WHERE (
SELECT max(geboortedatum
FROM tabelnaam
)
Probleem is dat je nu gaat groeperen op huisnummer he. Je zou zoiezo al combinatie postcode en huisnummer moeten hebben. Ik ben zelf eens aan het bedenken, maar kom er zelf ook niet meteen uit. Is een "group by" trouwens niet makkelijker?

Ik denk dat het wel makkelijker zou zijn als je met 2 tabellen zou werken. Een tabel per gezin en 1 tabel voor de adressen van de gezinnen. Maakt het beetje makkelijker om aanpassingen door te voeren (gezin verhuist...) en het is ook makkelijker om dingen op te zoeken.
Met citaat reageren
Oud 22-05-2004, 18:31
Rob
Avatar van Rob
Rob is offline
Citaat:
Auryon schreef op 22-05-2004 @ 13:34 :
Probleem is dat je nu gaat groeperen op huisnummer he. Je zou zoiezo al combinatie postcode en huisnummer moeten hebben. Ik ben zelf eens aan het bedenken, maar kom er zelf ook niet meteen uit. Is een "group by" trouwens niet makkelijker?

Da's toch ook de bedoeling? Een gezin woont op één huisnummer, vandaar dat ik alle huisnummers maar één keer voor liet komen.

Citaat:
Auryon schreef op 22-05-2004 @ 13:34 :
Ik denk dat het wel makkelijker zou zijn als je met 2 tabellen zou werken. Een tabel per gezin en 1 tabel voor de adressen van de gezinnen. Maakt het beetje makkelijker om aanpassingen door te voeren (gezin verhuist...) en het is ook makkelijker om dingen op te zoeken.
Inderdaad, maar ik denk niet dat normaliseren een deel van de opdracht is.

Misschien als je wat voorbeeld data post dat wij je verder kunnen helpen?
__________________
Bad spelling and grammar make me [sic].
Met citaat reageren
Oud 23-05-2004, 13:30
Auryon
Auryon is offline
Citaat:
Rob schreef op 22-05-2004 @ 19:31 :
Da's toch ook de bedoeling? Een gezin woont op één huisnummer, vandaar dat ik alle huisnummers maar één keer voor liet komen.
Ja, een gezin woont wel op 1 adres. Maar een huisnummer is geen uniek getal he. Volgens mij wonen er meer gezinnen op eenzelfde huisnummer.

Het zou idd handiger zijn om beetje data te posten en wat het doel wordt van je database.
Met citaat reageren
Oud 23-05-2004, 16:19
Rob
Avatar van Rob
Rob is offline
Citaat:
Auryon schreef op 23-05-2004 @ 14:30 :
Ja, een gezin woont wel op 1 adres. Maar een huisnummer is geen uniek getal he. Volgens mij wonen er meer gezinnen op eenzelfde huisnummer.
Dan moet je dus straat en huisnummer combineren. Ik zag de straat kolom niet. >.>

Maar laten we inderdaad maar even wachten op wat voorbeeld data. Vaak wordt het dan veel makkelijker om een query op te stellen.
__________________
Bad spelling and grammar make me [sic].
Met citaat reageren
Oud 25-05-2004, 08:43
Tofke_H
Avatar van Tofke_H
Tofke_H is offline
Kreeg ik via e-mail van ik vermoed Kerstin:
Busnr kan dus leeg zijn (vandaar dat die op vele plaatsen leeg - - ).
Code van hierboven ( DISTINCT ) is hetzelfde als GROUP BY... En dat werkt als je alleen de adressen toont maar vanaf het moment dat je het veldje NAAM er bij zet, is het omzeep en toont hij ze weer allemaal.
2 tabellen is idd beter voor bv verhuizingen maar dat is het nut niet van deze DB. Het is gewoon de stand van zaken op moment X (momentopnamen) en daar moeten wat statestieken op gemaakt worden (aantal inwoners per straat, per gehucht,per leeftijdscategorie,...) , maar er moet ook een enquete verstuurd worden naar elke gezin 1. En dan wordt het dus duidelijk waarom ik 1 lid per gezin wil hebben

Code:
naam - straat - huisnr - busnr - gebdatum

MAES JAN - KERKSTRAAT - 13 - - 19780509
JANSEN AN  -  KERKSTRAAT - 13 - - 19791010
MAES BJORN - KERKSTRAAT - 13 - - 20031225
KERKHOFS DANNY - KERKSTRAAT - 14 - - 19450902
LOOTS SILVIE - KERKSTRAAT - 14 - A - 19650406
JANS TOON - KERKSTRAAT - 20 - - 19670503
BONEN TOM - BOOMSTRAAT - 2 - - 19700505
ROOSEN ANJA - BOOMSTRAAT - 2 - - 19710307
ROOSEN JAN - BOOMSTRAAT - 2 - - 19990813
COOLS PIET - BOOMSTRAAT - 2 - A - 19720125
LOOTS AN - BOOMSTRAAT - 2 - A - 19730215
JANS KAREL - BOOMSTRAAT - 2 - B - 19750905
CANE JANET - BOOMSTRAAT - 2 - B - 19760805
JANS DAVY - BOOMSTRAAT - 2 - B - 20021315
STEVENS ILS - DONKERSTRAAT - 25 - 19811031
...
Allemaal bedankt
__________________
Liefde: Het pokerspel van het Leven. Je begint met een paar en je eindigt met een full house.
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 21:10.