0

首先为 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

但它真的没有做这项工作。任何人都可以指出我正确的方向吗?非常感谢。安德烈亚

4

2 回答 2

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
于 2013-07-29T17:36:25.567 回答
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) 其中 p.status = 1 且 pv_status = 1

于 2013-07-29T18:04:52.000 回答