与mysql对等连接
我正在尝试加入几个表,其中表视频有:与mysql对等连接,mysql,Mysql,我正在尝试加入几个表,其中表视频有: video_id user_id camera_id video_size video_datetime video_length video_url 桌上摄像机有: camera_id user_id camera_hash camera_type camera_status camera_name camera_quality camera_user camera_pass camera_ip camera_port camera_url 所以用户i
video_id
user_id
camera_id
video_size
video_datetime
video_length
video_url
桌上摄像机有:
camera_id
user_id
camera_hash
camera_type
camera_status
camera_name
camera_quality
camera_user
camera_pass
camera_ip
camera_port
camera_url
所以用户id和摄像机id是常见的。我试图获取显示视频大小、日期/时间、长度和相机名称的数据。我可以执行以下查询:
SELECT videos.video_size, videos.video_datetime, videos.video_length,
cameras.camera_name
FROM videos, cameras
WHERE videos.user_id = cameras.user_id
and videos.user_id=69 and cameras.camera_id=73
这很好,可以得到我想要的,但是我需要计算73,得到69的用户id不是问题。因此,我可以使用:
SELECT camera_id from videos where user_id=69
这可以返回多个值…因此需要更多的处理。我想知道是否有更好或更有效的方法来做到这一点?如何:
SELECT videos.video_size, videos.video_datetime, videos.video_length,
cameras.camera_name
FROM videos inner join cameras using (user_id, camera_id)
WHERE videos.user_id=69
那么:
SELECT videos.video_size, videos.video_datetime, videos.video_length,
cameras.camera_name
FROM videos inner join cameras using (user_id, camera_id)
WHERE videos.user_id=69