Ik wil binnen een query een bewerking doen op een van de velden en gebruik hiervoor onderstaande query.
Het probleem is dat ik de tmp velden, nodig voor de berekening niet in mijn resultaat wil hebben. Natuurlijk kan ik deze achteraf verwijderen, maar hiervoor moet ik weer een lus lopen door mijn resultaat, waardoor dit vanzelfspreken weer extra tijd kost.
Mijn vraag is: Hoe laat ik bepaalde velden uit mijn resultaat en kan ik toch de uservariabelen gebruiken
Het doel van deze query is om uit de string debiteurartikelen het voor de gegeven debiteur, debiteurartikelnummer te bepalen. Ik wil dit graag op db-niveau doen ivm de performance.
In mijn resultaat heb ik nu naast de gewenste velden, ook de velden tmp1 en tmp2 en deze wil ik er liever niet in hebben.
Het probleem is dat ik de tmp velden, nodig voor de berekening niet in mijn resultaat wil hebben. Natuurlijk kan ik deze achteraf verwijderen, maar hiervoor moet ik weer een lus lopen door mijn resultaat, waardoor dit vanzelfspreken weer extra tijd kost.
Mijn vraag is: Hoe laat ik bepaalde velden uit mijn resultaat en kan ik toch de uservariabelen gebruiken
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| select artikel as article, omschrijving_nl as description, oem, ean, @start:=locate(':',z.debiteurartikelen,locate('015626',z.debiteurartikelen))+1 as tmp1, @end:=locate(',',z.debiteurartikelen,locate('015626',z.debiteurartikelen)) as tmp2, substr(z.debiteurartikelen,@start,@end-@start) as clientreferencenumber from zoeken z where artikel='FS-1000+' OR artikel='FS-1010' OR artikel='FS-1010N' OR artikel='FS-1050' OR artikel='FS-1050N' OR artikel='KYOFS1000' |
Het doel van deze query is om uit de string debiteurartikelen het voor de gegeven debiteur, debiteurartikelnummer te bepalen. Ik wil dit graag op db-niveau doen ivm de performance.
In mijn resultaat heb ik nu naast de gewenste velden, ook de velden tmp1 en tmp2 en deze wil ik er liever niet in hebben.
[ Voor 4% gewijzigd door Verwijderd op 18-06-2010 10:33 ]