Avatar billede kimstaal Nybegynder
18. oktober 1999 - 14:49 Der er 11 kommentarer og
1 løsning

Forespørgsel


Hej
Jeg skal have lavet en forspørgsel. Brugeren vælger nogle kriterier (1-6 stk). I databasen er der nogle billeder. Disse billeder har en række egenskaber. Jeg skal så vælge det billede, som overholder flest kriterier, altså kun det "bedste" billede skal vises.
Jeg har lavet en forespørgsel(i acces), der indeholder felterne: (Billednr, Specifikation).
Jeg håber dette er oplysninger nok til at en eller anden kan hjælpe mig.
18. oktober 1999 - 15:01 #1
Vis os den forespørgsel..

;)
Avatar billede kimstaal Nybegynder
18. oktober 1999 - 21:29 #2
Hvorfor det?
Nå, men her er den:
SELECT Main.Stil, Main.Biledenr, Main.Url, Main.Alt, Specifikationer.Specifikation
FROM Main INNER JOIN Specifikationer ON Main.Biledenr = Specifikationer.Billednr;
Hvis der er en, der kan hjælpe mig, fordobler jeg gerne til 200 point
Avatar billede mit Nybegynder
18. oktober 1999 - 22:28 #3
Hvad er det for nogle kriterier ?..er det afkrydsning eller er det indtastning eller hvad er det ?
- og hvad skal kriterierne matches med ?...Det som står i feltet Specifikation eller hva' ?
Avatar billede flemming Nybegynder
18. oktober 1999 - 23:28 #4
Hvad er dit problem, sådan mere specifikt ?

Hvis du vil have hjælp til at komponere din SQL sætning bliver du nød til at fortælle hvordan dine tabeller er bygget op og hvad det er for en datamængde du vil have som resultat.
Avatar billede kimstaal Nybegynder
19. oktober 1999 - 12:42 #5
Kriterierne er afkrydsnings felter. Der er 2 tabeller. Main og Specifikationer.
Main indeholder Tabellerne: Billednr, Stil og Url (sti til billede).
Specifikationer indeholder: Billednr og Specifikation.
Brugeren vælger én stil og 1-6 specifikationer.
Forespørgslen skal retunere ét billede. Dette billede skal være i den stil, som brugeren valgte. Billedet skal opfylde så mange specifikationer som muligt.
Håber at dette gjorde det mere klart, ellers så spørg igen.
Hilsen Kim
Avatar billede kimstaal Nybegynder
19. oktober 1999 - 12:44 #6
Jeg glemte lige at side, at der er en relation mellem Billednr i de 2 tabeller.
Avatar billede kimstaal Nybegynder
19. oktober 1999 - 20:07 #7
side=sige
Avatar billede mit Nybegynder
19. oktober 1999 - 20:39 #8
Er feltet Specifikation et text (eller hvad det hedder i Access); altså et hvor der så står en hel masse fritekst om billedet, herunder kriterierne ?
Det med om der er sat kryds i den ene eller den anden; det skal du nok kode i scriptet. Så noget i stil med

SELECT Url FROM MAIN JOIN Specifikationer ON Main.Billednr=Specifikationer.Billednr WHERE Specifikationer LIKE '%Kriterie%'

..Eller hvad ?
Avatar billede kimstaal Nybegynder
20. oktober 1999 - 18:52 #9
Nej...hver post i Specifikationer indeholder et billed nr, og en specifikation.
Forespørgslen skal så tælle, hvor mange poster, med det samme billednr, der har en af de rigtige Kriterier. Eks:
Tabellen Specifikationer:
Billednr Specifikation
  1          a
  1          b
  1          c
  1          d
  2          a
  2          c
  3          c
  3          d
Brugeren vælger kriterierne a, b, c og d. Det skal retunere billede 1, da den overholder flest kriterier.
Gjorde det det mere forståeligt?
/kim
Avatar billede mit Nybegynder
20. oktober 1999 - 23:05 #10
hmm..jeg vover den påstand, at det kan du ikke lave i SQL, da de ikke er proriteret, og du ikke på forhånd ved hvilke kriterier der vælges...Løsningen er nok, at hente hele Specificationer-tabellen - kod dig til det rigtige billednr og hent så URL'en...
Avatar billede kimstaal Nybegynder
20. oktober 1999 - 23:31 #11
hmmm æv...
Andre, der har en ide? (hvis det da overhovedet kan lade sig gøre...)
Avatar billede kimstaal Nybegynder
08. november 1999 - 20:10 #12
...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester