Avatar billede flashnoob Nybegynder
27. september 2005 - 20:51 Der er 7 kommentarer og
1 løsning

Problem med query fra to tabeller.

Jeg er ret ny til det her database-halløj og nu prøver jeg lige at hente noget ud fra to tabeller på een gang. Jeg har en variabel "case", som alle informationerne skal findes ud fra.

SELECT projects.case_headline, projects.case_description, pictures.picture_name FROM projects, pictures WHERE projects.caseid, pictures.caseid=".$case.";

Men det virker ikke?

Jeg ved slet ikke om det kan lade sig gøre??
Avatar billede jaw Nybegynder
27. september 2005 - 20:56 #1
Indeholder $case det du tror den gør?
Avatar billede flashnoob Nybegynder
27. september 2005 - 20:59 #2
Ja, den indeholder et casenavn, som er enten 1 eller 2.
Når jeg kører det hele så kommer fejlen:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' pictures.caseid=2' at line 1

Og det passer med at casenavnet er "2"
Avatar billede flashnoob Nybegynder
27. september 2005 - 21:01 #3
eller... Nu skrev jeg casenavnet. Jeg mente caseid... :)
Avatar billede jaw Nybegynder
27. september 2005 - 21:01 #4
Hvordan skal den vide, hvilken række i pictures der passer til rækken i projects?

Jeg har prøvet noget her, måske det kan hjælpe dig lidt i retning:

SELECT projects.case_headline, projects.case_description, pictures.picture_name FROM projects
LEFT JOIN pictures ON pictures.id = project.picture
WHERE projects.caseid, pictures.caseid=".$case.";
Avatar billede flashnoob Nybegynder
27. september 2005 - 21:09 #5
Nej, det virker heller ikke.
Kan man overhovedet skrive sådan her:
WHERE projects.caseid, pictures.caseid=".$case.";

alle steder hvor jeg har kikket på udtræk fra to tabeller samtidig har der bare stået
eks.:

WHERE projects.caseid=pictures.caseid;
Avatar billede jaw Nybegynder
27. september 2005 - 21:11 #6
Så ville det nok være:
WHERE procects.caseid = ".$case." AND pictures.caseid = ".$case."
Avatar billede flashnoob Nybegynder
27. september 2005 - 21:20 #7
Ja...selvfølgelig :) tak, så virker det som det skal... nu er der bare lidt med php koden der skal fixes :)  smid et svar.
Avatar billede jaw Nybegynder
27. september 2005 - 21:23 #8
Det var så lidt :)

Evt. kunne de 2 måske kombineres:
WHERE projects.caseid = ".$case." AND pictures.caseid = projects.caseid
...men i sidste ende vil det jo give det samme.
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
Computerworld tilbyder specialiserede kurser i database-management

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