首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从第一个表中选择一行,然后连接多个

从第一个表中选择一行,然后连接多个
EN

Stack Overflow用户
提问于 2012-11-19 21:28:02
回答 2查看 84关注 0票数 0

我有下面的表格,

客户端

代码语言:javascript
复制
client_id | client_name
2         | client 1
3         | client 2
4         | client 3

新闻稿

代码语言:javascript
复制
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

新闻稿内容

代码语言:javascript
复制
press_release_id | content | translation
1                | content | en
2                | content | fr

我想写一个查询,基本上为每个客户选择最新的新闻稿。对于每个新闻稿,该列表将仅返回一个客户端

万分感谢

EN

回答 2

Stack Overflow用户

发布于 2012-11-19 21:31:13

试试这个:

代码语言:javascript
复制
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
票数 0
EN

Stack Overflow用户

发布于 2012-11-19 21:32:36

代码语言:javascript
复制
SELECT  a.*, b.*, d.*
FROM    clients a
        INNER JOIN pressReleases b
            ON a.client_ID = b.client_ID
        INNER JOIN
        (
            SELECT client_ID, MAX(date) maxDate
            FROM pressReleases
            GROUP BY client_ID
        ) c ON b.date = c.mAxDate AND
                b.client_ID = c.client_ID
        INNER JOIN pressReleaseContent d
            ON b.press_release_id = d.press_release_id

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13454789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档