Toon posts:

[Access] horizontal lookup

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het volgende is het geval. Ik heb een access tabel met daarin een gegevens in de volgende manier in colum.

getal_1, getal_2, getal_3

nu wil ik de volgende dingen doen met SQL dus het liefst zonder gebruik te maken van VB of een of andere andere taal.

(A)
Ik wil van alle regels het hoogste getal hebben. Dus oftewel ik wil een query bouwen die mij een overzicht geeft van alle hoogste waarde uit een regel of dat nu de waarde van getal_1 is of dat nu de waarde van getal_2 is of dat dat nu de waarde van getal_3 is dat maakt niks uit en die informatie heb ik ook niet nodig uit welke colum hij komt.

(B)
ik wil op alle getallen in een regel een berekening doen, laten we zeggen (getal_1 * 31 / $waarde) waarbij $waarde een resutaat is uit een andere berekening. Nu moet hij dus de berekening doen over getal_1, getal_2 en getal_3 en van deze drie uitkomsten wil ik dan de hoogste uitkomst hebben. De berekening is geen probleem en ik krijg netjes een resultaat met daarin inplaats van de orginele waarden de berekende waarden maar ik loop weer vast op het zoeken van de hoogste waarde.

Iemand een slim idee?

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Voor Access zou dit kunnen met een genest iif statement.

Terzijde: je wil toch niet zeggen dat je in één kolom getal_1, getal_2, getal_3 hebt staan he? In dat geval deugt je datamodel echt niet.

My personal website


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 24-05 09:13

Janoz

Moderator Devschuur®

!litemod

Sowieso deugt dit datamodel niet. Wat hier horizontaal staat moet verticaal in de db staan.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Janoz schreef op 08 juli 2004 @ 09:09:
Sowieso deugt dit datamodel niet. Wat hier horizontaal staat moet verticaal in de db staan.
Klopt als een bus maar de vraag is en blijft of ik een manier kan bedenken om uit deze bak data een goed antwoord te krijgen. De data is al tijden ingevoerd en dat heeft voor hen altijd gewerkt maar op dit moment willen ze dus opeens andere vragen gaan stellen en zit ik dus met dit probleem. Ik moet dus een manier vinden om telkens per regel de horizontale data even verticaal te krijgen dan een vergelijking "select max(waarde) from...." te doen en dan de volgende regel te doen.... Ik kan me niet voorstellen dat dat niet mogelijk is, de vraag is alleen hoe is dat mogelijk....

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

My personal website


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Alleen sql: maak je data verticaal met een union..
select id, "v1" as veld, getal_1 [...]
union
select id, "v2",getal_2 [...] etc

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland

Pagina: 1