繁体   English   中英

SQL:从其他表中选择

[英]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将起作用,如果它是datedatetime ,则需要使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM