filter user variabelen uit mysql result

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
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
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 ]


Acties:
  • 0 Henk 'm!

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 18-08 21:31
Een select genereert niet zomaar een resultaat, dat resultaat is ook te gebruiken als tabel, dus je kunt een select doen op die query die je nu hebt.