Allan Schuster Bach skrev:
> Jeg har en tabel der indeholder vare
> eks
> Id: 12
> Beskrivelse: vare
> Pris: 100
>
> En anden table indeholder bud på denne vare (vil altid være
> større)
>
> id_FK nypris
> 12 110
> 12 115
> 12 117
>
> Min ide var nu at finde vare id 12 og den højste pris som nu
> er 117.
Du skal bruge et join. Du har ikke fortalt hvilken database du
bruger, men i MS-databaser (muligvis også i flere) kan du bruge
følgende metoder:
SELECT TOP 1 v.Beskrivelse, v.pris, b.nypris
FROM varer v INNER JOIN bud b
ON v.id = b.id_FK
WHERE v.ID = 12
AND b.nypris > v.pris
ORDER BY b.nypris DESC
En alternativ udgave er at bruge GROUP BY:
SELECT v.ID, v.Beskrivelse, v.pris, MAX(b.nypris) as maxpris
FROM varer v INNER JOIN bud b
ON v.id = b.id_FK
WHERE v.ID = 12
AND b.nypris > v.pris
GROUP BY v.ID, v.Beskrivelse, v.pris
> Hvad gør jeg galt
Når du skal sammenkæde informationer fra flere tabeller skal du så
godt som altid benytte JOIN. Læs evt. et introduktionshæfte om
databaser - det kan godt svare sig.
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO -
www.fiduso.dk)
I ovenstående tekst benyttes nyt komma
(rettelser modtages gerne i dk.kultur.sprog)