我有一个关于MySQL查询的问题。
首先表信息:
我的问题:
我需要来自vader的rnaam(具有dnr值),还需要孩子的rnaam。
我该如何实现?
我尝试了一些子选择,但没有成功。
表格内容:
您可以在此图片中看到带有dnr代码的“ vader”列。
例如,此图片的第二行具有dnr代码39,这是具有dnr代码1的父亲的孩子。
我目前的查询:
select rnaam as rnaam_vader, rnaam as kind, gesl as gesl_kind from dier
join soort on soort.snr = dier.snr
where soort.nsnaam = 'chimpansee'
示例行:
father child gender
BIGBOSS POEKIE V
最佳答案
如评论中所述:
您正在处理表上的名称别名,因此请谨慎使用不会在以后引用它们时造成问题的别名。
由于父级和子级[rnaam]的列名相似,并且在请求性别[gesl]时存在歧义,因此应该有区别-这就是为什么在此处使用别名的原因。
SELECT
k.rnaam as kind,
v.rnaam as vader,
v.gesl
FROM dier v
JOIN dier k
ON v.dnr = k.vader
JOIN soort s
ON s.snr = v.snr
where
s.nsnaam = 'chimpansee'
关于mysql - MySQL-两次使用表数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23968817/