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 票あたり 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

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

于 2013-07-29T18:04:52.000 に答える