IT Fjernundervisning

Sortering og filtrering

Beskrivelse

Beregnede felter i sortering og filtrering

Når man har fået etableret nye felter ved brug af AS har man ofte brug for at sortere og filtrere på disse felter - det er naturligvis muligt.

Sortering

Det er den lette - her kan man "bare" bruge det nye felt, som her:

SELECT ListPrice, StandardCost,  ListPrice-StandardCost AS Avance  FROM Production.Product ORDER BY Avance;

Filtrering

Det er lidt mere "bøvlet" - her bliver man nødt til at gentage beregningen i filteret

SELECT ListPrice, StandardCost,  ListPrice-StandardCost AS Avance  FROM Production.Product WHERE ListPrice-StandardCost > 0

Rækkefølge

Grunden til ovenstående mystiske forskel er den rækkefølge sådan et SQL udtryk evalueres efter - den ser sådan her ud

  1. WHERE
  2. SELECT
  3. ORDER BY

Det betyder, at når den skal evaluere WHERE kender den ikke det nye felt, der defineres i SELECT.


Øvelse

Send mig en hilsen med forespørgsler, der kan returnere

  1. De 10 varer med størst avance (i beløbet)
  2. De 10 varer med størst avance (i procent)

Brug for hjælp til VBA, VSTO eller SQL?

Scient Data tilbyder professionel IT-konsulentbistand

Kontakt Scient Data →