Oracle11g 在内部查询中计算年龄,然后与值进行比较

Oracle11g 在内部查询中计算年龄,然后与值进行比较,oracle11g,Oracle11g,我有两张桌子 fbuser(facebook\u ID,出生日期)-facebook\u ID是主键 墙(墙ID、脸书ID、公共视图)-脸书ID是外键 我想找到那些将墙设置为公共视图并且年龄超过24岁的用户 Select f.facebook_ID from fbuser f, wall w WHERE (w.public_view='y') AND (f.facebook_ID=w.facebook_ID) AND (select FLOOR( MONTHS_BETWEEN(

我有两张桌子

  • fbuser(facebook\u ID,出生日期)-facebook\u ID是主键
  • 墙(墙ID、脸书ID、公共视图)-脸书ID是外键
  • 我想找到那些将墙设置为公共视图并且年龄超过24岁的用户

    Select f.facebook_ID from fbuser f, wall w 
    WHERE
      (w.public_view='y')
     AND
      (f.facebook_ID=w.facebook_ID)
     AND
      (select FLOOR( MONTHS_BETWEEN( CURRENT_DATE, f.date_of_birth ) / 12 ) 
      as person_age from fbuser where person_age >=24; 
    
    SELECT
      f.facebook_ID
    FROM fbuser f, wall w 
    WHERE
      (f.facebook_ID=w.facebook_ID)
     AND
      (w.public_view='y')
     AND
      (  (MONTHS_BETWEEN( CURRENT_DATE, f.date_of_birth )/12)  >=24);