所以我对如何解决这个问题有疑问。
我有一个名为PAPER的表,它有一个PANUM和TITLE列,另一个名为AUTHOR的表有一个PANUM和ACNUM列,另一个名为ACADEMIC的表有一个ACNUM,GIVENNAME和FAMNAME列。
我需要从学术界'Mark'Yee'写的PAPER中获取所有的PANUM。只是想知道我是否有办法根据GIVENNAME和FAMNAME获取学术的ACNUM。
到目前为止,我有这个,
SELECT panum FROM AUTHOR, ACADEMIC
WHERE famname='Yee' AND givename='Mark'
答案 0 :(得分:1)
使用JOIN
您可以将ACNUM
作为以下查询:
SELECT AUTHOR.panum,ACADEMIC.ACNUM FROM AUTHOR
Inner Join
ACADEMIC ON
AUTHOR.ACNUM = ACADEMIC.ACNUM
WHERE famname='Yee' AND givename='Mark'
答案 1 :(得分:1)
使用Join
。
您将从以下查询中成功获取ACNUM
:
SELECT ACNUM FROM ACADEMIC
WHERE famname='Yee' AND givename='Mark'
现在您需要稍微修改一下:
SELECT AU.PANUM,AC.ACNUM
FROM ACADEMIC AS AC
INNER JOIN Author AS AU
ON AC.ACNUM = AU.ACNUM
WHERE famname='Yee' AND givename='Mark'
从上面,您将获得与给定作者相关联的所有PANUM
。
Join
如何运作: