如何一起输出多个查询的结果?

时间:2016-12-13 00:52:44

标签: sql union

我想在一个窗口中同时显示3个选择的结果。

首先:

SELECT sum(r.punkty)
    ,r.id_kierowcy
FROM wyniki AS r
INNER JOIN wyscigi AS w ON r.id_wyscigu = w.id_wyscigu
WHERE w.rok = 2006
GROUP BY r.id_kierowcy
ORDER BY sum(r.punkty) DESC limit 1

第二:

  SELECT sum(r.punkty)
    ,r.id_kierowcy
FROM wyniki AS r
INNER JOIN wyscigi AS w ON r.id_wyscigu = w.id_wyscigu
WHERE w.rok = 2000
GROUP BY r.id_kierowcy
ORDER BY sum(r.punkty) DESC limit 1

第三

SELECT sum(r.punkty)
    ,r.id_kierowcy
FROM wyniki AS r
INNER JOIN wyscigi AS w ON r.id_wyscigu = w.id_wyscigu
WHERE w.rok = 2012
GROUP BY r.id_kierowcy
ORDER BY sum(r.punkty) DESC limit 1

简而言之,选择中存在一个区别,即WHERE [2000, 2006, 2012] 是连接这些选择的方式吗?我必须将它们显示为一个结果集

编辑:我会尝试解释一下我的练习。 我有2张桌子: 结果和比赛。

结果包含3列: id_driver /分 / id_race

种族包含3列: id_race /年 /位

比赛是在2000年至2012年之间 我需要在2000年,2006年,2012年对比赛进行分类,并确定每年赢得哪一名车手(id_driver)。所以我试着这样做

SELECT sum(r.points)
    ,r.id_driver
FROM results AS r
INNER JOIN races AS x ON r.id_race = x.id_race
WHERE x.year = 2012
GROUP BY r.id_driver
ORDER BY sum(r.points) DESC limit 1

和2006年和2000年相同,但我需要将其显示为一个结果集,这是我的问题,我不知道如何连接它。

0 个答案:

没有答案