所以我必须列出租户家庭中比租户本身年龄更大的人的名字。有两张桌子。租户和租户_家庭。我已经尝试比较两个日期,看看tenant_family表中的哪个DOB小于(意味着它们会更旧)租户表中的DOB。
这是我到目前为止所做的,但似乎是错误的。有人可以指导我找到正确的输出方式吗?
SELECT DISTINCT tenant_family.name
FROM TENANT_FAMILY, tenant
WHERE tenant_family.dob < tenant.TENANT_DOB;
答案 0 :(得分:0)
使用DATE函数提取查询的日期部分以进行比较,如:
select distinct tenant_family.name from TENANT_FAMILY, tenant where DATE(tenant_family.dob) < DATE(tenant.TENANT_DOB);
如果您的dob
和TENANT_DOB
未在数据库中存储为DATE
数据类型,或者它们存储为DATETIME
,那么您可能只提取日期部分使用功能:
select distinct tenant_family.name from TENANT_FAMILY, tenant where date_format(tenant_family.dob,"%y-%m-%d") < date_format(tenant.TENANT_DOB,"%y-%m-%d);
这可以在比较后给出正确的结果。