ik ga proberen duidelijk te zijn.

ik heb een tabel test in de database test.

hierin staan 2 velden

van en tot

en heeft deze waarde
van------tot
0---------5
5---------10
15--------20


nu wil ik met query die een rij kan toevoegen maar eerst controleerd of die ergens tussen past.

het idee er achter is ik wil 3 nummer in voegen.

dus 3 word 11,12 en 13
dus de waarde van 11 tot 13 moet toegevoegd worden.

maar eerst gecontroleerd of dit mogelijk is.

ik had ingedachten

insert into `test` WHERE 3 between tot and van
between van = (laatste tot waar 3 tussen past +1) dus in dit geval 10+1
en tot is van + aantal(nu dus 3)

ik hoop dat ik het een beetje duidelijk uitgelegd heb
je controlleert gewoon welke row het hoogste is(als je doorrekent) daarna pak je dat getal als uitgangs punt en tel je, je getal erbij op
ja dat snap ik maar dat mag niet (van school).
anders had ik een nieuwe reeks gemaakt achter 20
maar hij moet tussen 10 en 15 passen
heel klein schopje op hoop van zegen..
Iets meer uitleg graag. Waar is het voor? Wat moet het precies doen?
Geef ook een paar voorbeelden, dan is de kans dat we het snappen groter.

En waarom heb je van tevoren al die bereiken 5 - 10, 15 - 20 in je tabel? Misschien klopt je datamodel niet?
Ok ik ga het proberen uit te leggen.
Ik ben bezig met een project waar ik niet uit kom.

iets met de nummers toekennen aan verenigen wat voor doet niet ter zaken.

ik heb een tabel

vereniging met de waarde
ver_nr
ver_naam
etc

ik hebeen tabel nummers
met de waarde

ver_nr
reeks_van
reeks_tot


vereniging.ver_nr=nummers.ver_nr

De tabel nummer is als volgt gevuld (als voorbeeld)


ver_nr    reeks_van     reeks_tot
1             1                  10     
2             11                 20
3             21                30
4             31                40


Ik kan de verenigigen nu nieuwe nummer toekennen aan de hand van de hoogste waarde in de tabel.
(heb query niet bij de hand maar dat was)
select sum (max) from reeks_tot as reeksmax
//aantal nummer mogen verschillend zijn
$aantal nummer = 10
$begin_van = reeksmax +1 //laatste nummer in de tabel +1
$reeks_tot = $begin_van + $aantalnummer // is het begin waarde van de nummers + het aantal nummer.

stel dat we ver_nr 3 nog 10 nummer willen geven zou het worden

(40+1) + 10 -1

// -1 omdat 41 + 10 , 51 is en ik 10 nummer wil toekennen en dat is
41,42,43,44,45,46,47,48,49,50

dan zou de insert worden
insert into nummer (ver_nr, reeks_van, reeks_tot) Values (3, 41,50);
en zou het er zo uit zou uit zien


ver_nr    reeks_van     reeks_tot
1             1                  10     
2             11                 20
3             21                30
4             31                40
3             41                50



Maar nu mijn echte vraag

Vereniging 3 wordt verwijderd
dan heb ik in me tabel staan


ver_nr    reeks_van     reeks_tot
1             1                  10     
2             11                 20

4             31                40




als ik nu een nieuwe nummer aan een vereniging wil geven begint die gewoon bij 41 (laatste waarde is 40 + 1 )

maar nu heb ik de nummer 21 -30 over want die zijn niet toegekent aan een vereniging.

Nu wil ik dat die nummer ook opnieuw uitgegeven kunnen worden maar hoe kan dat.

had zelf zoeits in gedachten. (CLICKABEL)


hoop dat het duidelijk is.
en vooral dat iemand maar hier mee kan helpen :D

Reageren