Je ces deux tableaux:Choisissez parmi deux tables pour trouver le taux de TVA basé sur la date effective
mysql> desc vat_rates; +-------------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------------+------+-----+---------+-------+ | rate_id | varchar(5) | NO | PRI | NULL | | | name | varchar(255) | NO | | NULL | | | type | enum('O','I') | NO | | NULL | | | default | tinyint(1) | YES | | 0 | | +-------------+---------------+------+-----+---------+-------+ 6 rows in set (0.00 sec) mysql> desc vat_rates_details; +-------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+-------+ | rate_id | varchar(10) | NO | | NULL | | | effect_date | date | NO | | NULL | | | rate | float | NO | | NULL | | +-------------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
je besoin d'une requête qui me donne vat_rates.name, vat_rates.rate_id, vat_rates_details.rate où le effect_date est MAX() mais < = que maintenant(). Simplifiant, j'ai besoin de sélectionner tous les vat_rates avec le champ de taux étant la dernière date basée sur effect_date mais pas dans le futur.
exemple avec des données:
vat_rates:
rate_id = 'L9'
name = 'MyVatName'
type = 'O'
par défaut = 1
vat_rates_details (ligne 1):
rate_id = 'L9'
effect_date = '200 0-01-01'
rate = 20
vat_rates_details (ligne 2):
rate_id = 'L9'
effect_date = '01/06/2010'
rate = 19
vat_rates_details (ligne 3):
rate_id = 'L9'
effect_date = '01/07/2010'
rate = 21
Le résultat attendu:
+-------------+-------------+------+ | rate_id | name | rate | +-------------+-------------+------+ | L9 | MyVatName | 19 | +-------------+-------------+------+
Merci pour votre temps :)
EDIT: Taux attendu est de 19 pas 20. TKS Justin.
ne sont pas vous attendent à un taux de 19 au lieu de 20? –
Vous avez raison Justin ma mauvaise. – mjsilva