我有2张桌子。球员和统计。玩家有以下字段:姓名,年龄,DOB和SSN。统计数据包括:Tackles,Goals,Assists和SSN。 SSN是外键。如何编写查询以查找DOB> ='1994'的玩家统计数据。 DOB不是外键,我想知道它是如何工作的。
答案 0 :(得分:3)
这是一个简单的Join命令。
SELECT * FROM Stats
INNER JOIN Player
On Player.SSN = Stats.SSN
WHERE DOB > 1994
这里有一个问题,但是你暗示DOB是一个字符串,而不是具有这些引号的日期时间或整数。你不能将字符串比作你想要做的数字。如果DOB只是一年,例如1994年,然后DOB >= 1994
将起作用,如果它是date
或datetime
,则需要使用Datetime
个等效项。
答案 1 :(得分:1)
SELECT * FROM Player INNER JOIN Stats ON Player.SSN = Stats.SSN WHERE Player.DOB >= '1994-01-01'
如果您只想要特定字段,请指定这些字段而不是SELECT *
答案 2 :(得分:1)
select player.name, stats.tackles, stats.goals, stats.assists
from player inner join stats on player.ssn = status.ssn
where year(player.dob) >= 1994