webForumDet fria alternativet

Konvertering av STOR SQL

2 svar · 158 visningar · startad av saw

sawMedlem sedan mars 20011 883 inlägg
#1

Ledsen att behöva störa er igen men jag springer i väggen här:

SELECT s.ArrNo, t_Album.Bild, t_Album.Album, s.songtitel AS Sångtitel, s.Hits, 
(SELECT TOP 1 namn FROM t_songforfattare INNER JOIN 
t_forfattare ON t_songforfattare.for_id = t_forfattare.for_id 
WHERE ArrNo = s.ArrNo ORDER BY t_songforfattare.for_id ASC) AS 
Författare, 
(SELECT TOP 1 namn FROM t_songforfattare INNER JOIN
 t_forfattare ON t_songforfattare.for_id = t_forfattare.for_id 
WHERE ArrNo = s.ArrNo AND t_songforfattare.for_id > (SELECT TOP 1 for_id FROM t_songforfattare WHERE ArrNo = s.ArrNo 
ORDER BY for_id ASC) ORDER BY t_songforfattare.for_id ASC) AS 
Författare2, 
(SELECT TOP 1 namn FROM t_songforfattare INNER JOIN 
t_forfattare ON t_songforfattare.for_id = t_forfattare.for_id 
WHERE ArrNo = s.ArrNo AND t_songforfattare.for_id > (SELECT 
TOP 1 for_id FROM t_songforfattare WHERE ArrNo = s.ArrNo AND
 t_songforfattare.for_id > (SELECT TOP 1 for_id FROM 
t_songforfattare WHERE ArrNo = s.ArrNo ORDER BY for_id ASC) 
ORDER BY t_songforfattare.for_id ASC)) AS Författare3, 
s.Hide, t_Album.Hide 
FROM (t_Kategori AS k RIGHT JOIN t_songtitlar AS s ON k.Kat_ID 
= s.Kategori) INNER JOIN t_Album ON s.Album = t_Album.CD_ID
WHERE s.Hide='False' AND t_Album.Hide='False' ORDER BY
 t_Album.Album

När det gäller "Top 1" så vet jag att jag skall ändra det till "limit 1", men det tycks gå galet iallafall.
Det stora problemen är ju subfrågorna.
Går det här att konvertera? Om inte hur bör jag göra om jag
måste göra mer än en SQL av det?

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Det finns inte stöd för sub-select i Mysql. Det kommer i version 4.1 av Mysql. Du får förmodligen dela upp det i flera olika frågor.

sawMedlem sedan mars 20011 883 inlägg
#3

Ajaj.
Får jag fråga LarsG, hur skulle du ha gjort?

Genererad på 370 ms · cache AV · v20260730165559-full.f96bc7eb