Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1467 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Resultat en fonction d'une date

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Resultat en fonction d'une date

n°2392478
razer69
Posté le 02-08-2021 à 17:57:33  profilanswer
 

Bonjour à tous,
 
je suis sur requête SQL (SqlServer 2017) ou j'ai:
 
- Une table Facture qui comporte un ID_TVA
- Une table TVA qui comporte ID_TVA | Nom  taux TVA
Exemple:

Code :
  1. ID:1 Taux Exo
  2. ID:3 Taux Normale


- Une Table TauxTVA qui comporte ID_TVA|Date de mise en application | Le Taux de TVA.

Code :
  1. ID:3 |Date: 01/01/2001|19.6
  2. ID:3 |Date: 01/01/2014|20.0


 
Je bloque pour dire au niveau de la jointure de prendre le bon taux de TVA (par rapport à la  date de la facture)
 
Pourriez-vous m'aiguiller?
Merci d'avance pour vos explications
 
razer69
 

mood
Publicité
Posté le 02-08-2021 à 17:57:33  profilanswer
 

n°2392493
rufo
Pas me confondre avec Lycos!
Posté le 02-08-2021 à 23:36:10  profilanswer
 

Je dirais déjà comme ça que la structure de la BD est pas top :/ Pourquoi la facture n'a pas un ID de TVA qui pointe direct sur la bonne valeur du taux de TVA :??:
Pour récupérer tu prends le taux de TVA dont la date est <= à celle de la facture et qui a la date la plus élevée parmi les TVA trouvées.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2392509
razer69
Posté le 03-08-2021 à 09:17:25  profilanswer
 

Bonjour Rufo,
 
La structure de la BD  c'est pas nous qui avons réalisé.
 
 

Citation :

Pour récupérer tu prends le taux de TVA dont la date est <= à celle de la facture et qui a la date la plus élevée parmi les TVA trouvées.


 
Par rapport ton conseil, il faut que je réalise cela dans la jointure ou bien dans la clause WHERE?
 

n°2392520
rufo
Pas me confondre avec Lycos!
Posté le 03-08-2021 à 11:56:25  profilanswer
 

Peu importe, le résultat sera le même que tu mettes les conditions dans la jointure ou le where. Après, en théorie, ça serait plus logique de mettre la condition sur les dates dans le where.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2392883
antac
..
Posté le 08-08-2021 à 14:56:34  profilanswer
 

Tu as plusieurs façon de faire ça... (mais je rejoins Rufo sur le fait que la structure est pas terrible)...
 
Un truc un peu crade mais qui marche serait de faire ça :

Code :
  1. SELECT *, (SELECT TOP 1 Taux FROM TauxTVA WHERE TauxTVA.Date_Application <= Facture.DateFac AND TauxTVA.ID_TVA = Facture.ID_TVA ORDER BY Date_Application DESC) 
  2. FROM Facture


 
A ta place, je ferai une fonction stockée pour renvoyer le taux applicable en fonction de la date de la facture et du type de taux TVA.


Message édité par antac le 08-08-2021 à 14:57:51

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Resultat en fonction d'une date

 

Sujets relatifs
TensorFlow.js - Detection d'objet - Interpretation du résultatConvertir une date ex. 12-05-21 en 12-05-2021
MySQL : forcer la position d'un résultat ?[Batch] Ajout date création au nom lors d'une copie
entrer date dans textbox avec préalable jj-mm-aaaaJavascript API / Recuperer le resultat
résolu -*Problème de double quote dans paramètres fonctionFonction onclick .svg RER A
Fonction qui compare deux tableaux et stocke le résultat dans un troisRécupérer résultat semaine en fonction d'une date
Plus de sujets relatifs à : Resultat en fonction d'une date


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR