首先为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
但它确实无法完成这项工作。任何人都可以指出我正确的方向吗? 非常感谢。 安德烈
答案 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