MySQL从3个表中提取数据

时间:2013-07-29 17:34:35

标签: mysql

首先为newbee问题道歉,我对MySQL完全不熟悉。 我有3个表格,有一些字段。查询的相关字段如下:

table 1 - Registration 
user_name
user_email
ID

table 2 - photogallery 
ID
user_id
Status
photo_url

table 3 - photovote 
Photo_ID
status

我需要一张所有投票的清单(每张投票1条记录),其中包含照片的显示数据和拥有该照片的用户。这意味着photovote中的Photo_ID =照相馆中的ID和照相馆中的user_id =注册中的ID。

我想出的是

SELECT * 
FROM photovote
LEFT JOIN (photogallery, registration)
ON photovote.Status = 1 
AND photogallery.Status = 1
WHERE photovote.user_id = photogallery.user_id
AND photogallery.user_id = registration.ID

但它确实无法完成这项工作。任何人都可以指出我正确的方向吗? 非常感谢。 安德烈

2 个答案:

答案 0 :(得分:2)

SELECT * 
FROM photovote v
INNER JOIN photogallery g ON v.PhotoId = g.ID
INNER JOIN registration r ON g.user_id = r.ID
WHERE v.Status = 1 
AND g.Status = 1

答案 1 :(得分:0)

SELECT r.user_name,r.user_email,p.status,p.photo_url,pv.status as pv_status FROM registration r LEFT JOIN photogallery p ON(r.id = p.id)LEFT JOIN photovote pv ON(pv。 id = p.id)WHERE p.status = 1 AND pv_status = 1