2015-11-17 25 views
0

我需要寫一大堆的查詢與下面的表格數據庫:SQL查詢加入不同的價值觀和聚集與加入

Match(homeId, awayId, homeScore, awayScore, date) 

League(leagueId, leagueName) 

Player(playerId, teamId, playerName, age, position, marketValue, position) 

Team(teamId, teamName, leagueId, city) 

但是,我無法弄清楚如何編寫SQL查詢就像下面的查詢:

「查找最新的日期時,拉齊奧在米蘭的主場擊敗AC米蘭。」 或 「查找,其中至少一隊至少有三個 門將聯賽的名字。」

我如何加入與匹配表的團隊表,這將使我與球隊的名字列入比賽。 (即homeId,awayId,homeName,awayName)並寫入這兩個查詢。

謝謝。

+0

學校分配? – jarlh

+0

是的,這就是爲什麼我不想要完整的答案,但我需要一些指導,因爲我現在被鎖定。 –

+0

我沒有在實際的sql服務器上嘗試這些,我只需要編寫查詢。我可以編寫關係代數查詢,但我無法將它們轉換爲sql。 –

回答

0

爲了您的第一個要求,你可以使用這樣的事情。

select date 
    from match 
    where homeid =(select teamid from team where teamname = 'Milan') 
    and awayId = (select teamid from team where teamname = 'Lazio') 
    and homeScore < awayScore 

對於第二個,使用下面的東西。

select l.leagueName 
    from league l 
    inner join Team t 
    on l.leagueid=t.leagueid 
    where t.teamid in (
    select distinct(teamid) as teamid from player p 
    where p.position like 'Goalkeeper' 
    group by teamid 
    having count(*) >= 3)