在表中选择Max以获取其他表SQL中的名称

时间:2014-05-20 08:53:32

标签: sql database select max highest

我有2张桌子

玩家

Pnr
Pname
Padress
Pcity

门票

Tnr
Pnr
Date
Costs

我想从Ticket Cost的数据库中获取具有最高Select的玩家的名字。我想知道五月份谁有Ticket。我也想知道谁从来没有Ticket。 我如何获得这些? Pnr是玩家的主键,与票证中的Pnr相关联

我试过

SELECT MAX(Costs) from Players, Tickets
Where max()

2 个答案:

答案 0 :(得分:1)

我希望我理解正确。请尝试以下查询。我认为它仍会有一些错误,但你可以在这里评论它们,我会尝试纠正它们。

 select top 1 Pname from Players 
    inner join Tickets on Players.Pnr = Tickets.Pnr
    where Date > 1.05.2014 and Date <31.05.2014
    order desc by Tickets.Costs

答案 1 :(得分:0)

  1. 最高票价:

    SELECT P.*,T.Tnr,T.Date,T.cost 
    FROM Players P JOIN 
         Tickets T ON T.Pnr=B.Pnr
    WHERE T.Cost= SELECT MAX(Cost) from Tickets
    
  2. 对于从未获得过门票的玩家:

    SELECT P.*
    FROM Players P LEFT JOIN 
         Tickets T ON T.Pnr=B.Pnr
    WHERE T.Tnr IS NULL
      AND T.Pnr IS NULL
      AND T.Date IS NULL
      AND T.Costs IS NULL