SQL如果[complex condition],则输出新表

SQL如果[complex condition],则输出新表,sql,postgresql,Sql,Postgresql,我不知道如何处理这个问题 如果满足某个复杂条件,我需要输出一个只包含一行的表,并使用“是”。我该怎么做呢 条件是这样的:“如果2004年到2008年间最年长和最年轻的教授之间的年龄差最多为10岁” 我正在使用PostgreSQL 谢谢 根据您的描述,类似的方法应该可以奏效 SELECT CASE WHEN (DATE_PART('year', MAX(Birthdate)) - DATE_PART('year', MIN(Birthdate))) * 12 + (DATE_P

我不知道如何处理这个问题

如果满足某个复杂条件,我需要输出一个只包含一行的表,并使用“是”。我该怎么做呢

条件是这样的:“如果2004年到2008年间最年长和最年轻的教授之间的年龄差最多为10岁”

我正在使用PostgreSQL


谢谢

根据您的描述,类似的方法应该可以奏效

SELECT
  CASE WHEN
    (DATE_PART('year', MAX(Birthdate)) - DATE_PART('year', MIN(Birthdate))) * 12 +
    (DATE_PART('month', MAX(Birthdate)) - DATE_PART('month', MIN(Birthdate)))
    <= 120 THEN 'Yes'
  ELSE 'NO'
  END
FROM Professors
WHERE DateEmployed BETWEEN '2004-01-01' AND '2008-12-31';
选择
当
(日期部分(“年”,最大(生日))-日期部分(“年”,最小(生日)))*12+
(日期部分(“月”,最大值(生日))-日期部分(“月”,最小值(生日)))

sql中没有
IF
。请重新表述您的问题。在transact-SQL中,您可以将数据查询到两个变量中,然后根据这些变量中的数据运行if语句Show about In PostgreSQL?谢谢,这很有帮助@如果这样做有效,请接受/投票表决答案。:)