我有3张桌子我想放在一起。包含所有用户视频的视频表,包含所有用户图像的图像表和摄像机表。我想列出所有的图片和视频,并与(videoid, userid, cameraid, videosize, datetime, deleted, videolength, videoname)
加入3张表排序
prefix_images表(imageid, userid, cameraid, imagesize, datetime, deleted, imagename)
prefix_cameras表(userid, cameraid, ...)
对它们进行排序
prefix_videos表以前我只用了视频表,这个查询了我什么我需要:
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删除的条目,并通过无论是来自图像或视频的日期顺序对这些能力的检查。
这不适合我,我认为是因为列不一样。所以我认为这违反了联盟的规则。仍然试图找出它...... – Tom
你可以使用cast()将不同的列转换为不同的类型。 – AdrianBR