Kan ik de volgende 2 query's in mysql schrijven als 1 query???
Het probleem is namelijk dat ik bij een prijsafspraak ook een inkoopsprijs wil hebben, maar deze krijg ik niet in mijn insert query gepropt omdat ik de laatste prijs ( gp200 ) wil hebben die voor een prijsafspraak ( gd220 ) geldig is. Als ik dit gelijk in mijn insert query stop, dan kom ik in de knoop met mijn group by.
Want ik wil de laatste inkoopprijs hebben met een uniek debiteurennr, artikelnummer. Op een dag is maar een inkoopsprijs geldig. Maar ik kan geen aggegrate functie bedenken die zegt dat ik de inkoopsprijs bij die bepaalde dag wil hebben.
Het probleem is namelijk dat ik bij een prijsafspraak ook een inkoopsprijs wil hebben, maar deze krijg ik niet in mijn insert query gepropt omdat ik de laatste prijs ( gp200 ) wil hebben die voor een prijsafspraak ( gd220 ) geldig is. Als ik dit gelijk in mijn insert query stop, dan kom ik in de knoop met mijn group by.
Want ik wil de laatste inkoopprijs hebben met een uniek debiteurennr, artikelnummer. Op een dag is maar een inkoopsprijs geldig. Maar ik kan geen aggegrate functie bedenken die zegt dat ik de inkoopsprijs bij die bepaalde dag wil hebben.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| insert into prijsafspraakingang (
debiteur,
artikelnummer,
vanaf,
tm)
select gd220actueel.debiteur,
gp200.artikelnummer,
max(gp200.vanaf_datum),
gp200.tm_datum
from gp200,
gd220actueel
where (gp200.artikelnummer=gd220actueel.artikelnummer) and
(gp200.vanaf_datum<=gd220actueel.ingangsdatum) and
((gp200.tm_datum>=gd220actueel.ingangsdatum) or (gp200.tm_datum="0000-00-00"))
group by gd220actueel.debiteur,
gp200.artikelnummer,
gp200.tm_datum;
UPDATE prijsafspraakingang,
gp200
SET prijsafspraakingang.netto_inkoop_nlg=gp200.netto_inkoop_nlg
WHERE (prijsafspraakingang.artikelnummer=gp200.artikelnummer) and
(prijsafspraakingang.vanaf=gp200.vanaf_datum) and
(prijsafspraakingang.tm=gp200.tm_datum); |