<code> Såhär borde fungera: Det är inget provlem. Krävs bar lite kunskap om SQL: Aj, det "bidde" inte så bra. Du kan testa att skippa paranteserna: Samma fel tyvärr. Jag gissar på att du är i fel databas. Eftersom den inte hittar någon av tabellerna. :oP Tack Andreas. Det hade jag missat. Får inte till en bra SQL(eller rubrik)[LÖST]
SELECT t_SongTitlar.ArrNo,
t_SongTitlar.songtitel,
t_SongTitlar.Forfattare,
t_SongTitlar.Forfattare2,
t_SongTitlar.Forfattare3,
t_Album.Album,
t_Kategori.Kategori
FROM t_Kategori INNER JOIN
(t_Album INNER JOIN t_SongTitlar
ON t_Album.CD_ID = t_SongTitlar.Album)
ON t_Kategori.Kat_ID = t_SongTitlar.Kategori
WHERE t_SongTitlar.songtitel Like 'Old Fashion Rock n Roll'
</code>
Med denna SQL så får jag fram det mesta pm mina sångtitlar.
Problem:
Författare(ForFattare,Forfattare2,ForFattare3) ligger lagrade i tabellen t_forfattare. som ser ut så här:
for_id
namn
osv.
När jag kör min SQL så får jag bara fram en siffra(for_id) men skulle vilja ha namnet på författaren.
Problem2:
I en del titlar så finns det tre författare,
i en del så finns det två författare.
i dom flesta fallen så finns det EN författare.
Hur löser jag detta?Sv: Får inte till en bra SQL(eller rubrik)
<code>
SELECT t_SongTitlar.ArrNo,
t_SongTitlar.songtitel,
t_SongTitlar.Forfattare,
F1.namn AS ForfattareNamn,
t_SongTitlar.Forfattare2,
F2.namn AS Forfattare2Namn,
t_SongTitlar.Forfattare3,
F3.namn AS Forfattare3Namn,
t_Album.Album,
t_Kategori.Kategori
FROM t_Kategori INNER JOIN
(t_Album INNER JOIN t_SongTitlar
ON t_Album.CD_ID = t_SongTitlar.Album)
ON t_Kategori.Kat_ID = t_SongTitlar.Kategori
LEFT JOIN t_forfattare F1 ON t_SongTitlar.Forfattare = F1.for_id
LEFT JOIN t_forfattare F2 ON t_SongTitlar.Forfattare2 = F2.for_id
LEFT JOIN t_forfattare F3 ON t_SongTitlar.Forfattare3 = F3.for_id
WHERE t_SongTitlar.songtitel Like 'Old Fashion Rock n Roll'
</code>
/JohanSv: Får inte till en bra SQL(eller rubrik)
SELECT t_SongTitlar.ArrNo,
t_SongTitlar.songtitel,
F1.namn AS Forfattare,
F2.namn AS Forfattare2,
F3.namn AS Forfattare3,
t_Album.Album,
t_Kategori.Kategori
FROM ((((t_SongTitlar
LEFT JOIN t_Album ON t_SongTitlar.Album = t_Album.CD_ID)
LEFT JOIN t_Kategori ON t_SongTitlar.Kategori = t_Kategori.Kat_ID)
LEFT JOIN t_forfattare AS F1 ON t_SongTitlar.Forfattare = F1.for_id)
LEFT JOIN t_forfattare AS F2 ON t_SongTitlar.Forfattare = F2.for_id)
LEFT JOIN t_forfattare AS F3 ON t_SongTitlar.Forfattare = F3.for_id
WHERE t_SongTitlar.songtitel Like 'Old Fashion Rock n Roll' Sv: Får inte till en bra SQL(eller rubrik)
I QA så får jag följande fel:
Server: Msg 208, Level 16, State 1, Line 1
Invalid object name 't_Kategori'.
Server: Msg 208, Level 16, State 1, Line 1
Invalid object name 't_Album'.
Server: Msg 208, Level 16, State 1, Line 1
Invalid object name 't_SongTitlar'.
Server: Msg 208, Level 16, State 1, Line 1
Invalid object name 't_forfattare'.
Server: Msg 208, Level 16, State 1, Line 1
Invalid object name 't_forfattare'.
Server: Msg 208, Level 16, State 1, Line 1
Invalid object name 't_forfattare'.
Vad menas med detta ??
Jo du har så rätt Andreas, det fodras GEDIGEN kunskap i SQL för att klara detta.
Lite enklare SQL går väll bra, men detta kan ju knappast ingå i den kategorin, eller?Sv: Får inte till en bra SQL(eller rubrik)
SELECT t_SongTitlar.ArrNo,
t_SongTitlar.songtitel,
F1.namn AS Forfattare,
F2.namn AS Forfattare2,
F3.namn AS Forfattare3,
t_Album.Album,
t_Kategori.Kategori
FROM t_SongTitlar
LEFT JOIN t_Album ON t_SongTitlar.Album = t_Album.CD_ID
LEFT JOIN t_Kategori ON t_SongTitlar.Kategori = t_Kategori.Kat_ID
LEFT JOIN t_forfattare AS F1 ON t_SongTitlar.Forfattare = F1.for_id
LEFT JOIN t_forfattare AS F2 ON t_SongTitlar.Forfattare = F2.for_id
LEFT JOIN t_forfattare AS F3 ON t_SongTitlar.Forfattare = F3.for_id
WHERE t_SongTitlar.songtitel Like 'Old Fashion Rock n Roll' Sv: Får inte till en bra SQL(eller rubrik)
Jag vet att man kan lösa detta med en extra SQL, men skall det behövas??Sv: Får inte till en bra SQL(eller rubrik)
Sv: Får inte till en bra SQL(eller rubrik)
Vi hade tydligen gjort lite småmissar båda tv.
Jag såg att den hade ställt sig i mastn....
Men jag fick upp samma författare, tills jag såg ett litet misstag med SQL:en
LEFT JOIN t_forfattare AS F1 ON t_SongTitlar.Forfattare = F1.for_id
LEFT JOIN t_forfattare AS F2 ON t_SongTitlar.Forfattare2 = F2.for_id
LEFT JOIN t_forfattare AS F3 ON t_SongTitlar.Forfattare3 = F3.for_id
TUSEN TACK FÖR DIN HJÄLPSv: Får inte till en bra SQL(eller rubrik)
Ingen är perfekt. Jag råkar bara var väldigt när. ;O)