0
我有問題。我有3個表,一個帶有視頻列表,另一個帶有類別列表,第三個表告訴我每個視頻的分類。 我想列出所有類別,但我需要使用最後一個的縮略圖插入每個類別的視頻。 該列表必須顯示該類別的名稱以及插入該類別的最後一個視頻的縮略圖。我希望我明確自己。SQL選擇3個表
- 表
Videos(Id, Name, Description, Duration, Date, Thumbnail, Active)
- 表
Categories(Id, Cat, Active)
- 表
VidCat(Id, Video, Cat)
我試圖用表達波紋管,但不起作用。它顯示了我所有的縮略圖。
SELECT DISTINCT C.[Id], C.Cat, V.[Codigo]
FROM [Categories] AS C
left JOIN [VidCat] AS VC ON C.[Id] = VC.[Cat]
left JOIN [Videos] AS V ON VC.[Video] = V.[Id]
WHERE (C.[Active] = 1)
也試過這個,但是是相同的結果。
SELECT DISTINCT C.[Id], C.Cat, V.[Thumbnail]
FROM [Categories] AS C
left JOIN [VidCat] AS VC ON C.[Id] = VC.[Cat]
left JOIN [Videos] AS V ON VC.[Video] = V.[Id]
WHERE (C.[Active] = 1)
AND (V.[Thumbnail] IN (SELECT distinct [Thumbnail] FROM [Videos] WHERE VC.[Video] = [Id] ORDER BY [Date] DESC))
ORDER BY P.[Id]
非常感謝。
貝託
將'V. [Thumbnail]'條件從'WHERE'移動到'ON'以獲得真正的'LEFT JOIN'行爲,因爲它現在可以得到常規的內部連接結果。 – jarlh
另外,不需要在子查詢中選擇「DISTINCT」。 – jarlh