【发布时间】:2013-06-22 03:05:30
【问题描述】:
我有 3 张桌子要放在一起。一个包含所有用户视频的视频表,一个包含所有用户图像的图像表和一个摄像机表。我想列出所有图像和视频并对其进行排序
带有(videoid, userid, cameraid, videosize, datetime, deleted, videolength, videoname)的prefix_videos 表
带有(imageid, userid, cameraid, imagesize, datetime, deleted, imagename)的prefix_images表
带有(userid, cameraid, ...)的prefix_cameras表
以前我只有视频表,所以这个查询给了我我需要的东西:
SELECT prefix_videos.videoid, prefix_videos.videoname, prefix_videos.videosize,
prefix_videos.videodatetime, prefix_videos.videolength, prefix_cameras.cameraname FROM
prefix_videos INNER JOIN prefix_cameras USING (userid,cameraid) WHERE
prefix_videos.deleted IS NULL AND prefix_videos.userid=xxx ORDER BY
prefix_videos.datetime DESC
但现在我要添加一个图像表。所以我想要的是建立一个表:
imageid/videoid, cameraid, imagesize/videosize, datetime (either from image or video table), videoname/imagename
因为我现在将图像和视频表结合起来给出一个结果,所以我不确定另一个 INNER JOIN 在这里是否有意义?
这里的另一个重要部分是检查已删除条目是否为 NULL,并且能够按日期对这些条目进行排序,无论它来自图像还是视频。
【问题讨论】: