【发布时间】:2011-03-09 18:53:08
【问题描述】:
我有这两张桌子:
mysql> desc 增值税率; +-------------+----------------+------+-----+------ ---+-------+ |领域 |类型 |空 |钥匙 |默认 |额外 | +-------------+----------------+------+-----+------ ---+-------+ | rate_id | varchar(5) |否 |优先级 |空 | | |姓名 | varchar(255) |否 | |空 | | |类型 |枚举('O','I') |否 | |空 | | |默认 |小整数(1) |是 | | 0 | | +-------------+----------------+------+-----+------ ---+-------+ 6 行一组(0.00 秒) mysql> desc vat_rates_details; +-------------+-------------+------+-----+-------- -+--------+ |领域 |类型 |空 |钥匙 |默认 |额外 | +-------------+-------------+------+-----+-------- -+--------+ | rate_id | varchar(10) |否 | |空 | | |生效日期 |日期 |否 | |空 | | |率 |浮动 |否 | |空 | | +-------------+-------------+------+-----+-------- -+--------+ 3 行一组(0.00 秒)我需要一个查询,它可以提供 vat_rates.name、vat_rates.rate_id、vat_rates_details.rate,其中 effect_date 为 MAX() 但
为了简化,我需要根据 effect_date 选择所有带有 rate 字段的 vat_rates,而不是将来的日期。
数据示例:
增值税率:
rate_id = 'L9'
名称 = 'MyVatName'
类型 = 'O'
默认 = 1
vat_rates_details(第 1 行):
rate_id = 'L9'
效果日期 = '2000-01-01'
率 = 20
vat_rates_details(第 2 行):
rate_id = 'L9'
效果日期 = '2010-06-01'
率 = 19
vat_rates_details(第 3 行):
rate_id = 'L9'
效果日期 = '2010-07-01'
率 = 21
预期结果:
+-------------+-------------+------+ | rate_id |姓名 |率 | +-------------+-------------+------+ | L9 | MyVatName | 19 | +-------------+-------------+------+感谢您的宝贵时间 :)
编辑:预期比率是 19 而不是 20。Tks Justin。
【问题讨论】:
-
您不期望的是 19 而不是 20?
标签: sql mysql join aggregate-functions