Avatar billede zuledk Nybegynder
06. december 2006 - 17:14 Der er 2 kommentarer og
1 løsning

SQL Problem

Hej Udviklere

Jeg har et problem med en sql streng jeg prøvet at få til at gå op. Jeg skal hente et produkt og få vist alle oplysningerne + stien til de 3 billeder der ligger i tabellen billeder.

Alt virker undtagen at den kun kan hente det ene billede. Så mit spørgsmål går på hvordan får jeg den til at hente alle 3 billed stier?

Min sql streng ser således ud:


SELECT
    produkt.Id,
    produkt.ProduktNavn as 'Produkt',
    produkt.SalgsPris AS 'Pris',
    billeder.BilledeSti AS 'Billede sti 1',
    billeder.BilledeSti AS 'Billede sti 2',
    billeder.BilledeSti AS 'Billede sti 3',
    maerke.Maerke AS 'Mærke',
    model.Model,
    motortype.MotorType AS 'Type',
    aargang.Aargang AS 'Årgang',
    produkt.Beskrivelse
FROM
    produkt, billeder, maerke, model, motortype, aargang
WHERE
    maerke.Id = produkt.MaerkeId
AND model.Id = produkt.ModelId
AND motortype.Id = produkt.TypeId
AND produkt.Billede1Id = billeder.Id
AND aargang.Id = produkt.AargangId
AND    produkt.Id = '".$produktId."'");

Og mine tabeller:

CREATE TABLE `produkt` (
  `Id` int(11) NOT NULL auto_increment,
  `ProduktNavn` varchar(250) NOT NULL,
  `SalgsPris` decimal(10,2) NOT NULL,
  `MaerkeId` int(11) NOT NULL,
  `ModelId` int(11) NOT NULL,
  `TypeId` int(11) NOT NULL,
  `AargangId` int(11) NOT NULL,
  `Billede1Id` int(11) NOT NULL,
  `Billede2Id` int(11) NOT NULL,
  `Billede3Id` int(11) NOT NULL,
  `Beskrivelse` text NOT NULL,
  PRIMARY KEY  (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

CREATE TABLE `billeder` (
  `Id` int(11) NOT NULL auto_increment,
  `BilledeNavn` varchar(100) NOT NULL,
  `BilledeSti` varchar(200) NOT NULL,
  `BilledeSize` varchar(50) NOT NULL,
  `BilledeType` varchar(50) NOT NULL,
  PRIMARY KEY  (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
Avatar billede coderdk Praktikant
06. december 2006 - 19:35 #1
SELECT
    p.Id,
    p.ProduktNavn as 'Produkt',
    p.SalgsPris AS 'Pris',
    b1.BilledeSti AS 'Billede sti 1',
    b2.BilledeSti AS 'Billede sti 2',
    b3.BilledeSti AS 'Billede sti 3',
    mk.Maerke AS 'Mærke',
    m.Model,
    mt.MotorType AS 'Type',
    a.Aargang AS 'Årgang',
    p.Beskrivelse
FROM
    produkt AS p
INNER JOIN
    maerke AS mk
ON
    p.MaerkeId = mk.Id
INNER JOIN
    model AS m
ON
    p.ModelId = m.Id
INNER JOIN
    motortype AS mt
ON
    p.TypeId = mt.Id
INNER JOIN
    aargang AS a
ON
    p.AargangId = a.Id
INNER JOIN
    billeder AS b1
ON
    p.Billede1Id = b1.Id
INNER JOIN
    billeder AS b2
ON
    p.Billede2Id = b2.Id
INNER JOIN
    billeder AS b3
ON
    p.Billede3Id = b3.Id
Avatar billede zuledk Nybegynder
07. december 2006 - 10:14 #2
Det virker jo perfekt.. :-)

Hvis du lige smider et svar så kan jeg donere point til dig
Avatar billede coderdk Praktikant
07. december 2006 - 13:42 #3
Ok :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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