2012-11-19 33 views
0

我有以下表格,選擇從第一個表中的一行,然後加入多個

客戶

client_id | client_name 
2   | client 1 
3   | client 2 
4   | client 3 

新聞稿

press_release_id | date     | title     | client_id 
1    | 2012-10-16 00:00:00 | new press release  | 3 
2    | 2012-10-16 00:00:00 | worlwide news   | 2 

新聞稿內容

press_release_id | content | translation 
1    | content | en 
2    | content | fr 

我想寫一個查詢b基本上爲每個客戶選擇最新的新聞稿。這份名單將只返回1個客戶端爲每個新聞稿

萬分感謝

+0

什麼是你的dbms? – Marc

回答

0

試試這個:

SELECT 
    c.client_name, 
    pr.date, 
    pr.title, 
    pc.content, 
    pc.translation 
FROM clients c 
INNER JOIN pressreleases pr ON c.client_id = pr.client_id 
INNER JOIN 
(
    SELECT 
    press_release_id, MAX(date) LatestDate 
    FROM pressreleases 
    GROUP BY press_relaese_id 
) pl ON pr.press_release_id = pl.press_release_id AND pr.date = pl.latestdate 
INNER JOIN press releasecontent pc ON pr.press_release_id = pc.press_release_id 
相關問題