Avatar billede zantiago Nybegynder
23. februar 2005 - 13:23 Der er 10 kommentarer og
1 løsning

SQL Join

Hey

Jeg har en kammerat der har fået lavet nedenstående script til mig - men det virker ikke :-(

---------------------------------------------------------------------
Set rs_ordre_linjer = Server.CreateObject("ADODB.RecordSet")
rs_ordre_linjer.open "Select o.OrdrelinieID, p.Produktnavn from ordre_linjer o Left Join produkter p On o.ProduktID = p.Produkt.ID where o.ordre_id = " & rs_send_mail("id"), Conn,1,3
---------------------------------------------------------------------

Den skal sammenkoble 2 tabeller:

[ordre_linjer]
id
ordre_id
produkt_id
antal
pris

[produkter]
id
navn
beskrivelse
pris


Jeg har overhovedet ikke styr på Joins, så hvis en ville være så rar at hjælpe :-)

Mr. Z
Avatar billede hiks Nybegynder
23. februar 2005 - 13:41 #1
hej

har kun lavet lidt om på sql'en og stillet det lidt anderledes op. Hvad er det du gerne vil have vist. Som det ser ud i nedenstående får du vist alle ordre_linjer og de steder hvor der er produkter tilknyttet en ordre linie får du også produktnavnet med ud. Er det det du vil?

SQL = "Select o.OrdrelinieID, p.Produktnavn " & _
      "FROM ordre_linjer o LEFT JOIN produkter p ON o.produkt_id = p.id " & _
      "WHERE o.ordre_id = " & CLng(rs_send_mail("id")) & ";"

Set rs_ordre_linjer = Server.CreateObject("ADODB.RecordSet")
rs_ordre_linjer.open SQL, Conn, 1, 3

/hiks
Avatar billede zantiago Nybegynder
23. februar 2005 - 13:52 #2
Hey :-)

Jeg skal måske nævne at det er en Mysql database...

Lille fejl:
--------------------------------------------------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

ODBC driver does not support the requested properties.

/files/file_16.asp, line 24
--------------------------------------------------------------------------------------


linje 24: rs_ordre_linjer.open SQL, Conn, 1, 3
Avatar billede hiks Nybegynder
23. februar 2005 - 13:58 #3
prøv at fjern , 1, 3 i den linje:

rs_ordre_linjer.open SQL, Conn

/hiks
Avatar billede zantiago Nybegynder
23. februar 2005 - 13:59 #4
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-standard-log]Unknown column 'o.OrdrelinieID' in 'field list'

/files/file_16.asp, line 24
Avatar billede hiks Nybegynder
23. februar 2005 - 14:01 #5
SQL = "Select o.ordre_id, p.navn " & _
      "FROM ordre_linjer o LEFT JOIN produkter p ON o.produkt_id = p.id " & _
      "WHERE o.ordre_id = " & CLng(rs_send_mail("id")) & ";"

Set rs_ordre_linjer = Server.CreateObject("ADODB.RecordSet")
rs_ordre_linjer.open SQL, Conn
Avatar billede zantiago Nybegynder
23. februar 2005 - 14:03 #6
Super - nu kom videre -  men jeg skal også kunne udskrive antal og pris fra ordre_linjer :-)
Avatar billede zantiago Nybegynder
23. februar 2005 - 14:03 #7
nu kom den videre :-)
Avatar billede hiks Nybegynder
23. februar 2005 - 14:06 #8
SQL = "Select o.ordre_id, p.navn, o.antal, o.pris " & _
      "FROM ordre_linjer o LEFT JOIN produkter p ON o.produkt_id = p.id " & _
      "WHERE o.ordre_id = " & CLng(rs_send_mail("id")) & ";"

Set rs_ordre_linjer = Server.CreateObject("ADODB.RecordSet")
rs_ordre_linjer.open SQL, Conn
Avatar billede zantiago Nybegynder
23. februar 2005 - 14:08 #9
hvad går der så galt her - den skriver at:

ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

/files/file_16.asp, line 45


Linje 45:
Body = Body & antal&" stk. "&rs_ordre_linjer("Produktnavn")&" a' " & pris & " - I alt: DKK " &belob&",-<br>"
Avatar billede hiks Nybegynder
23. februar 2005 - 14:10 #10
Body = Body & antal & " stk. " & rs_ordre_linjer("navn") & " a' " & pris & " - I alt: DKK " & belob & ",-<br>"
Avatar billede zantiago Nybegynder
23. februar 2005 - 14:14 #11
SÅDAN DER =D
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