2012-03-23 3 views
0

少なくとも1つの行を返さなければならないことがわかっているクエリがあります。どのように私は、アルバムがデータを返すことを確認するために私の後続のクエリを変更することができます。助けてくれてありがとう。MySQLクエリのヘルプ。少なくとも1つのレコードが返されていることを確認する必要があります

ここにお問い合わせください。私はアルバムに行があり、それを返す必要があることを知っています。

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; 

答えて

1

のみを使用しLEFT JOIN S(とあなたのFROMの最初のテーブルとしてテーブルalbumsを置く):

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

ありがとうございました。それはちょうど私の好きなように働いた – user516883

関連する問題