2012-03-23 7 views
0

Ich habe eine Abfrage, dass ich weiß, dass es zumindest eine Zeile zurückgeben sollte. Wie kann ich meine Follow-Abfrage ändern, um sicherzustellen, dass das Album Daten zurückgibt. Danke für jede Hilfe.Mysql Abfrage Hilfe. Ich muss sicherstellen, dass mindestens ein Datensatz zurückgibt

Abfrage hier. Ich weiß, dass das Album eine Zeile hat und ich es zurückgeben muss.

select distinct p.*, 
a.ID as parentalbumid,a.CreatorID as albumcreatorid,a.AlbumName,a.AlbumDescription,a.AlbumDefaultImageURL,a.Private,a.DateCreated,a.AdultContent,a.PasswordProtected,a.AllowTags,a.TypeID,a.AlbumAutoID, 
mainuser.Username as mainuserusername,mainuser.ID as mainuserid,mainuser.PictureUrl as mainuserpictureurl, 
c.ID as commentID,c.PhotoID as commentphotoid,c.OutputMessage,c.CommentDate, 
t.ID as tagID,t.PhotoID as tagphotoid,t.UserID,t.TextTag,t.LeftLocation,t.TopLocation, 
u.ID as userid,u.Username,u.FirstName,u.LastName,u.PictureUrl 
from photos p 
inner join albums a on a.ID = p.AlbumID 
inner join users mainuser on mainuser.ID = p.UserID 
left join comments c on c.PhotoID = p.ID 
left join tags t on t.PhotoID = p.ID 
left join users u on u.ID = c.CommentBy 
where a.AlbumAutoID = 3 
order by p.DateUploaded desc; 

Antwort

1

Nur LEFT JOIN s (und setzte den Tisch albums als die erste Tabelle Ihrer FROM):

select distinct p.*, 
a.ID as parentalbumid,a.CreatorID as albumcreatorid,a.AlbumName,a.AlbumDescription,a.AlbumDefaultImageURL,a.Private,a.DateCreated,a.AdultContent,a.PasswordProtected,a.AllowTags,a.TypeID,a.AlbumAutoID, 
mainuser.Username as mainuserusername,mainuser.ID as mainuserid,mainuser.PictureUrl as mainuserpictureurl, 
c.ID as commentID,c.PhotoID as commentphotoid,c.OutputMessage,c.CommentDate, 
t.ID as tagID,t.PhotoID as tagphotoid,t.UserID,t.TextTag,t.LeftLocation,t.TopLocation, 
u.ID as userid,u.Username,u.FirstName,u.LastName,u.PictureUrl 
from albums a 
left join photos p on a.ID = p.AlbumID 
left join users mainuser on mainuser.ID = p.UserID 
left join comments c on c.PhotoID = p.ID 
left join tags t on t.PhotoID = p.ID 
left join users u on u.ID = c.CommentBy 
where a.AlbumAutoID = 3 
order by p.DateUploaded desc; 
+0

Danke. Das hat so funktioniert, wie ich es wollte! – user516883

Verwandte Themen