2014-05-20 30 views
-1

得到的名字,我有2個表在表中選擇Max在其他表的SQL

玩家

Pnr 
Pname 
Padress 
Pcity 

門票

Tnr 
Pnr 
Date 
Costs 

我想獲得與玩家的名稱來自數據庫的最高Ticket CostSelect。我想知道5月份誰有Ticket。我也想知道誰從未有過Ticket。 我如何得到每一個? PNR是玩家的主鍵,並與PNR從門票

連接我試過

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

你嘗試過什麼嗎? – user3470953

+0

是的,我無法得到它的工作,我也無法在互聯網上找到它 –

+0

Pcity表的Pnr是玩家表中的外鍵? –

回答

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 
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