Avatar billede amirkarampour Nybegynder
12. juli 2002 - 15:47 Der er 11 kommentarer og
1 løsning

JOIN

Hvordan skal nedenstående sætning se ud, hvis jeg vil tilføje en ekstra tabel der hedder "bilstem", der kan knyttes til "gallerier"-tabellens ID??? - "bilstem" kan godt indeholde blanke felter (altså indeholder ikke ID som udgangspunkt) 


SELECT * FROM gallerier, pictures WHERE gallerier.ID=pictures.ID AND pictures.picposition=1
Avatar billede _just4fun_ Nybegynder
12. juli 2002 - 16:08 #1
SELECT * FROM gallerier
inner join pictures
ON gallerier.ID=pictures.ID
Left outer join bilstem
  ON gallerier.ID = bilstem.ID
where
pictures.picposition=1
Avatar billede misbruger Nybegynder
12. juli 2002 - 16:11 #2
SELECT * FROM gallerier, pictures, bilstem WHERE gallerier.ID = pictures.ID AND bilstem.ID = gallerier.ID AND pictures.picposition = 1
Avatar billede misbruger Nybegynder
12. juli 2002 - 16:13 #3
how... hvis bilstem.Id kan være tom, skal du bruge _just4Fun_'s eks.
Avatar billede amirkarampour Nybegynder
12. juli 2002 - 16:22 #4
Jeg får denne fejlmeddelse:

Syntax error (missing operator) in query expression 'gallerier.ID=pictures.ID LEFT OUTER JOIN bilstem ON gallerier.ID = bilstem.ID'.
Avatar billede _just4fun_ Nybegynder
12. juli 2002 - 16:27 #5
Prøv lige at skrive SQLen ud lige inde du smider den til databasen, og så post den her.
Avatar billede amirkarampour Nybegynder
12. juli 2002 - 16:29 #6
Undskyld, men hvad mener du?
Avatar billede _just4fun_ Nybegynder
12. juli 2002 - 16:38 #7
sql = "select * from gall......."
Response.write sql
database.open eller execute
...
Kopier SQLen og send den her...
Avatar billede amirkarampour Nybegynder
12. juli 2002 - 23:03 #8
Hmm... det gider den ikke.. jeg får fejl : A default property was not found for the object.

Det ser sådan ud:
Set gallerier = Server.CreateObject("ADODB.Recordset")
gallerier.ActiveConnection = MM_gallerierCONN_STRING
gallerier.Source = "SELECT * FROM gallerier INNER JOIN pictures ON gallerier.ID=pictures.ID LEFT OUTER JOIN bilstem ON gallerier.ID = bilstem.ID WHERE gallerier.ID=pictures.ID AND pictures.picposition=1 " & search & brand & " ORDER BY " & sorting
gallerier.CursorType = 0
gallerier.CursorLocation = 2
gallerier.LockType = 1
gallerier.Open()
Avatar billede _just4fun_ Nybegynder
13. juli 2002 - 11:59 #9
Hvad laver
'& search & brand &'
??
men ellers mente jeg:
'* Start med at strikke SQLen sammen
sSql = "SELECT * FROM gallerier INNER JOIN pictures " & _
    "ON gallerier.ID=pictures.ID " & _
    "LEFT OUTER JOIN bilstem " & _
    "ON gallerier.ID = bilstem.ID " & _
    "WHERE gallerier.ID=pictures.ID " & _
    "AND pictures.picposition=1 " & search & brand & " " & _
    "ORDER BY " & sorting

'* Skriv sql ud til debug:
response.write "min sql: " & sql & "<br>"

'* Opret Recordset og brug det med SQL
Set gallerier = Server.CreateObject("ADODB.Recordset")
gallerier.ActiveConnection = MM_gallerierCONN_STRING
gallerier.Source = SQL
gallerier.CursorType = 0
gallerier.CursorLocation = 2
gallerier.LockType = 1
gallerier.Open()
.....
Avatar billede _just4fun_ Nybegynder
13. juli 2002 - 12:00 #10
aargghh... sql skal selvfølgelig være sSql...
Avatar billede amirkarampour Nybegynder
14. juli 2002 - 22:57 #11
Den siger bare det samme : Syntax error (missing operator) in query expression 'gallerier.ID=pictures.ID LEFT OUTER JOIN bilstem ON gallerier.ID = bilstem.ID'.

Jeg får slet ikke lov til at se det den skal skrive fra response.write'n
Avatar billede amirkarampour Nybegynder
14. juli 2002 - 22:57 #12
& search & brand & - er bare nogle ekstra sætninger til at søge med... virker fint nok, så det er ikke dem der er problemet...
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