[英]Sql: Selecting from other tables
我有2张桌子。 球员和统计。 播放器具有以下字段:名称,年龄,DOB和SSN。 统计信息包含以下字段:铲球,进球,助攻和SSN。 SSN是外键。 如何编写查询来查找DOB> ='1994'的球员的状态。 DOB不是外键,我想知道它如何工作。
这是一个简单的Join命令。
SELECT * FROM Stats
INNER JOIN Player
On Player.SSN = Stats.SSN
WHERE DOB > 1994
但是,这里存在一个问题,因为您暗示DOB是字符串,而不是带有这些引号的日期时间或整数。 您无法像尝试那样将字符串作为数字进行比较。 如果DOB只是年份(例如1994),则DOB >= 1994
将起作用,如果它是date
或datetime
,则需要使用Datetime
等效项。
SELECT * FROM Player INNER JOIN Stats ON Player.SSN = Stats.SSN WHERE Player.DOB >= '1994-01-01'
如果只需要特定字段,请指定这些字段而不是SELECT *
select player.name, stats.tackles, stats.goals, stats.assists
from player inner join stats on player.ssn = status.ssn
where year(player.dob) >= 1994
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.