如何比较不同列和不同行但相同表的值?

时间:2015-05-10 22:01:11

标签: mysql sql plsql plsqldeveloper

ID Name FatherID Birthyear

1   Bart    NULL     1756    
2   Franz   1        1796
3   Josef   2        1835    
4   Zohan   3        1887

假设我有这个表,我想知道Zohan是否是Bart的儿子,如果我比较列#34; FatherID"中的值,可以得到它。以前的行的ID,直到我到达巴特。但是,如何比较同一个表中但不同行和列的值

1 个答案:

答案 0 :(得分:1)

你可以自己加入桌子:

SELECT s.name AS son_name, f.name AS father_name
FROM   mytable s
JOIN   mytable f ON s.fatherID = f.id
-- possibly add a where clause with conditions on son/father names