2015-07-19 54 views
0
SELECT video.name, video.description, video_source.url, bitcast_user.username 
FROM video 
INNER JOIN bitcast_user ON video.account_id = bitcast_user.id 
INNER JOIN video_source ON video_source.video_id = {$_GET['id']}; 

這將返回帶有不正確視頻名稱,說明和相關帳戶但結果來源正確的結果。用戶和視頻以及視頻和來源之間存在一對多的關係。SQL:3表內部聯接返回多個結果

+0

您需要一個正確的'join'條件,然後將'on'中的條件移到'where'子句。 –

回答

0

您不應該對屬於WHERE子句的變量執行INNER JOIN。 (其實 - 我甚至驚訝的是這個工作的話)我認爲你需要這樣的查詢:

SELECT video.name, video.description, video_source.url, bitcast_user.username 
    FROM video 
    INNER JOIN bitcast_user ON video.account_id = bitcast_user.id 
    INNER JOIN video_source ON video_source.video_id = video.video_id 
    WHERE video_source.video_id = {$_GET['id']}; 

(我不知道video_source.video_id = video.video_id因爲我不知道該列是如何在做命名video表。)