Ik ben bezig met een formulier waarmee Afdelingshoofden het volgende kunnen zien:
1 welke taken ze in de geselecteerde periode af moeten hebben
2 welke taken lopen
3. welke taken ze mee kunnen beginnen in de geselecteerde periode
Ik heb op dit moment 3 query`s hiervoor. Zou ik dit kunnen combineren in 1query (denk dat die pagina dan sneller wordt, of heb ik dat verkeerd)?
De query ziet er als volgt uit voor 1.taken die afgerond moeten zijn :
$sql="SELECT OMSCHRIJVING, BONNUMMER,TEKENINGNR,GEREED, ORDERNUMMER, REGELNUMMER, STARTDATUM, EINDDATUM
FROM ORDERRG
WHERE OMSCHRIJVING = 'Engineering' AND EINDDATUM BETWEEN '$startdatumtest' AND '$einddatumtest'
De andere query is precies het zelfde maar dan is de where als volgt:
2. WHERE OMSCHRIJVING = 'Engineering' AND STARTDATUM < '$startdatumtest' AND EINDDATUM >'$einddatumtest'
3. OMSCHRIJVING = 'Engineering' AND STARTDATUM BETWEEN '$startdatumtest' AND '$einddatumtest'
Ik heb al van alles gezocht maar ik kan nog niet echt iets vinden !
Als je op je pagina 3 verschillende soorten gegevens wilt weergeven, zul je ook 3 verschillende queries op je database uit moeten voeren. Je kunt alle gegevens wel met 1 query ophalen, maar dan moet je met php onderscheid gaan maken tussen de verschillende resultaten en dat is niet logisch.
Ze doen allemaal het zelfde maar ik heb dus nu 3 query`s op dezelfde pagina staan en ik wil er graag 1 van maken omdat ik denk dat dit sneller is. Ik weet alleen niet zeker of dat veel kwa snelheid oplevert ???
Ik snap sowieso het punt van 3 queries, die hetzelfde doen, op één pagina niet?
Ok ik zal het even beter proberen uit te leggen. Ik heb een pagina gemaakt waar Afdelingshoofden een startdatum en een einddatum in kunnen voeren bijvoorbeeld startdatum 08-10-2007 en een einddatum 12-10-2007 en op zoeken kunnen klikken.
Dan gaat de startdatumzoek en de einddatumzoek naar de pagina wat ik hier boven al een beetje heb beschreven. De afdelingshoofden krijgen op deze pagina 3 tabbelen te zien: 1 De taken die ze tussen de startdatum en einddatum af moeten hebben 2 De taken die lopen 3 De taken die tussen de startdatum en einddatum kunnen starten (met dit overzicht delen ze zelf de taken uit aan verschillende medewerkers van hun afdeling). Vandaar dat ik 3 querys heb.
Maar ik dacht dat ik misschien die 3 query`s met de verschillende where clausules zou kunnen samenvoegen zodat ik er maar 1 heb en de pagina misschien sneller wordt met het laden !?
De queries doen toch niet hetzelfde? Je gebruikt 3x een verschillende WHERE clausule, dus die queries zullen alledrie verschillende resultaten opleveren!
Je kunt die verschillende WHERE clausules wel gescheiden door OR in 1 query proppen, maar hoe ga je later dan bepalen welk gegeven bij welke query hoort?
vb:
select a.id, b.id, c.id, a.test, b.test, c.test from atabel as a, btabel as b, ctabel as c where a.id = b.id and b.id = c.id
je kunt hier verschikkelijk veel mee doen
Het is duidelijk dat je niet begrijpt hoe het werkt; adviseer het dan iemand ook niet. Het is namelijk fout. Bij verschillende WHERE clauses heb je (bijna?) nooit iets aan joins.