Avatar billede freud Nybegynder
29. januar 2003 - 13:04 Der er 6 kommentarer og
2 løsninger

sql - problemer........... hjælp

Jeg har 2 tabeller som indeholder følgende:

Navision_Pris
- ID
- Indhold
- Pris
- Kategori

Navision_Kategori
- NKID
- Kategori

Der er en en-til-mange relation mellem Navision_Pris.Kategori og Navision_Kategori.Kategori

Jeg skal bruge et udtræk som på baggrund at en givet ID udtrækker alle oplysninger om en givet kategori

Jeg har prøvet med følgende med kan ikke få det til at virke:

strSQL1 = "SELECT * FROM  Navision_Pris WHERE Kategori = (SELECT NKID FROM Navision_Kategori WHERE Kategori = '" & ID & "');"
Avatar billede luzk Nybegynder
29. januar 2003 - 13:12 #1
Well - umiddelbart vil jeg tro det er pga du har en where paramter der er et tal, men du angiver det som en streng i din SQL sætning - det er dog forskelligt alt afhængigt af hvilken database du bruger - prøv:
strSQL1 = "SELECT * FROM  Navision_Pris WHERE Kategori = (SELECT NKID FROM Navision_Kategori WHERE Kategori = " & ID & ")"

Derudover vil jeg foreslå dig ikke at benytte * notationen til at selecte med, men skriv specifikt hvilke felter du vil have ud. Det er hurtigere at eksekvere, og det er ikke alle DB'er der helt forstår * notationen.

/Luzk
Avatar billede di8leva Nybegynder
29. januar 2003 - 13:15 #2
mit tips er:

strSQL! = "select Navision_Pris.* from Navision_Pris left join Navision_Kategori on Navision_Pris.Kategori = Navision_Kategori.Kategori where Navision_Kategori.Kategori = " & ID
Avatar billede di8leva Nybegynder
29. januar 2003 - 13:19 #3
så behøver du ikke ha flere SELECT's...
Avatar billede freud Nybegynder
29. januar 2003 - 13:40 #4
--> luzk & di8leve

Det virker sku ikke rigtig

Lidt mere information:

Access DB

Navision_Pris
- ID (tal)
- Indhold (tekst)
- Pris (tal)
- Kategori (tekst)

Navision_Kategori
- NKID (tal)
- Kategori (tekst)
Avatar billede di8leva Nybegynder
29. januar 2003 - 14:03 #5
hvis du bruger denne:

strSQL1 = "select Navision_Pris.* from Navision_Pris left join Navision_Kategori on Navision_Pris.Kategori = Navision_Kategori.Kategori where Navision_Kategori.Kategori like '" & ID & "'"

hvad siger den så?
Avatar billede freud Nybegynder
29. januar 2003 - 14:13 #6
-->di8leve

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access-driver] Datatyper i JOIN-udtrykket stemmer ikke overens.
......../hjemmeside/navision/slet.asp, line 68

Line 68 er denne: set rs1 = Conn.Execute(strSQL1)
Avatar billede 44nato44 Nybegynder
29. januar 2003 - 14:41 #7
Prøv med denne

strSQL1 = "SELECT * FROM  Navision_Pris, Navision_Kategori  WHERE Navision_Pris.Kategori, Navision_Kategori.NKID = " & ID
Avatar billede freud Nybegynder
30. januar 2003 - 13:41 #8
Desvære virker det ikke endnu :-( , men tak for hjælpen alligevel ........ jeg må prøve at finde en anden løsning, da jeg desvære ikke har til til at vente mere på en løsning.

Men igen tak for hjælp
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