webForumDet fria alternativet

Separera datahämtningar för att undvika EOF/BOF?

Databaser & SQL

3 svar · 412 visningar · startad av Grillcliff

Medlem sedan sep. 200032 inlägg
Frågan#1

Tjo,

SQL = "SELECT s.ID, s.strSongName, s.strSongText, 
u.id as intUserID, u.strUsername, u.intFavouriteSong 
FROM songs s, users u 
WHERE s.id=" & Request.QueryString("id") & " AND u.intFavouriteSong = s.id"

Jag vill skapa en sida liknande denna:

Låttitel
Låttext

Användare som har låten som favoritlåt:
Lista strUsername med länk till ?profil=intUserID

Problemet
Om ingen har låten som favoritlåt får jag upp en blank sida, inte ens Låttitel eller Låttext visas, vilket jag vill ha samtidigt som det bör stå att "Inga användare har låten som favorit".

Hur åstadkommer jag detta? Använder mig av MySQL 5.x.

Medlem sedan dec. 200012 464 inlägg
#2
  SELECT s.ID, 
         s.strSongName, 
         s.strSongText, 
         u.id,
         coalesce(su.strUsername,'Ingen användare har låten som favorit')
    FROM songs s 
    left join
         users u 
      on u.intFavouriteSong = s.id
   WHERE s.id = " & Request.QueryString("id")
Medlem sedan sep. 200032 inlägg
#3

LarsG skrev:

  SELECT s.ID, 
         s.strSongName, 
         s.strSongText, 
         u.id,
         u.strUsername
    FROM songs s 
    left join
         users u 
      on u.intFavouriteSong = s.id
   WHERE s.id = " & Request.QueryString("id")

coalesce fick jag inte pli på då den klagade på att den inte hittade strUsername när jag försökte skriva ut det, men det är säkerligen jag som inte förstår funktionen.

Jag bytte ut coalesce mot enbart u.strUsername och då funkade det finemang, även om jag får sköta informeringen om att ingen har låten som favorit i asp-koden istället för i MySQL-strängen.

Tack så grymt mycket! :)

Medlem sedan dec. 200012 464 inlägg
#4

Det var jag som skrev fel

coalesce(u.strUsername

skall det vara.

244 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)