begin process at 2012 05 26 12:36:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

Comparaison de record dans une meme table à des dates différentes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comparaison de record dans une meme table à des dates différentes

mardi 7 décembre 2010 à 16:23:31 | Comparaison de record dans une meme table à des dates différentes

Jaxom

Bonjour à tous,

J'ai une table avec les resultats de plusieurs commerces par jour; ma table ressemble à ceci:

Id, date, Id_Commerce, CA, NbreClient

Il faudrait que je puisse sortir une table qui me donnerait le CA et les clients pour une date et la même l'an passé:

id, Id_Commerce, date_Today, CA_Today, NbreClient_Today, date_AnPasse CA_AnPasse, NbreClient_AnPasse

Il faut bien entendu tenir du compte du fait qu'un commerce peut être fermé et donc ne pas avoir de ligne du tout (pas encore ouvert l'an passé) ou fermé pour travaux (Ca et Client NULL)

N'étant pas tu tout un champion du sql, cette question me laisse perplexe.

Y aurait-il une âme charitable pour éclairer ma lanterne?

Merci d'avance.



-= Perdu dans les méandres de la création virtuelle =-
mercredi 8 décembre 2010 à 11:34:56 | Re : Comparaison de record dans une meme table à des dates différentes

aieeeuuuuu

Réponse acceptée !
Bonjour

Deja, quel est votre SGBDR ?

Ensuite, voulez-vous comparer jour pour jour a partir de la date (par exemple le 8 decembre 2010 au 8 decembre 2009) ? attention ca n'aura pas forcement de sens, car vous risquez de comparer le CA d'un lundi avec celui d'un dimanche... il faudrait peut etre envisager de comparer par exemple :
Le lundi de la semaine 45 de 2010 au lundi de la semaine 45 de 2009.

mais cela depend de ce que vous voulez faire de chiffre ensuite...

pour ce qui est de la requete, je ferai une jointure externe (FULL OUTER JOIN) de votre table sur elle meme, avec comme condition de jointure, les conditions que vous aurez defini pour comparer jour pour jour par exemple ca donnerai :

Code :
SELECT T1.id_commerce, T1.CA, T2.CA
FROM MaTable T1
FULL OUTER JOIN MaTable T2 ON T1.id_commerce = T2.ID_commerce AND T2.date = DATEADD(YEAR, -1, T1.Date)
WHERE DATEPART(YEAR, T1.Date) = 2010


en adaptant le DATEADD et le DATEPART selon votre SGBDR
vous pouez aussi remplacer le 2010 en dur par un DATEPART sur l'annee en cours afin que votre requete fonctionne toujours en reference a l'annee en cours. La aussi ca depend de vos besoins...
mercredi 8 décembre 2010 à 14:29:30 | Re : Comparaison de record dans une meme table à des dates différentes

Jaxom


Bonjour,

Un grand merci pour votre réponse, c'est pile ce qu'il me fallait.

Concernant vos commentaire, j'avais un peu simplifié l'enoncé pour ne pas surcharger; mais effectivement, je travaille par semaine (lundi de la semaine 1 etc...) pour que les comparaisons restent cohérentes (je dois faire un reporting quotidien sur des chiffres de vente par jour de la semaine en cours. et j'ai besoin des records null d'un coté ou de l'autre pour pouvoir faire la différence entre CA Brut et CA comparable (magasin ouvert des 2 côtés).

Et comme j'obtiens une table avec la comparaison et les "trous", c'est parfait.

En pratique, j'ai fait ça:

SELECT T1.Resultat_Boucherie_Id, T1.Resultat_CA CA_AnPas, T2.Resultat_CA CA_Today FROM Tbl_Resultat T1 FULL OUTER JOIN Tbl_Resultat T2 ON T1.Resultat_Boucherie_Id = T2.Resultat_Boucherie_Id AND T2.Resultat_Date = '20101113' WHERE T1.Resultat_Date='20091114'

Et merci encore.

Jaxom

-= Perdu dans les méandres de la création virtuelle =-


Cette discussion est classée dans : date, table, id, commerce, nbreclient


Répondre à ce message

Sujets en rapport avec ce message

une requete qui me casse la tête [ par chmouette ] Salut les gens!Mon problème est purement SQL. J'ai une table Ma Table avec des champs tels que :+-------------------------+ !            MaTable  &nbs Championnat [ par elpens ] Bonjour,Je voudrais effectuer une base de donnée pour une équipe, et je vous demande de l'aide pour la conception.Je pensais créer une table Saison(id Dernier enregistrement de chaque membre [ par Seb33300 ] BonjourJe cherche a récupérer le dernier enregistrement de chaque membre sur un table de la forme :TABLE(#membre, date, msg)Il fdaudrais donc ainsi po Peut-on insérer des valeurs dans une table de jointure à l'aide d'un trigger? [ par gero123 ] Bonjour à tous,J'aimerais vous soumettre une question qui me bloque depuis un certain temps.Au nieau de mon MCD, j'ai une entité Client avec pour iden Insertion [ par le_totophe ] Bonjour à tous, je voudrais gérer des contacts au sein d'une base de données qui comporte (schématiquement) une table avec un champ contact_id auto-in Fonctions d'une table qui pointe sur elle même [ par biereluc ] SALUT[xx(]Jai cette table là :---------------------TableNiveau---------------------id_TableNiveaunom_TableNiveauFK_id_TableNiveau--------------------- problème de procedure stocké [ par ManuAntibes ] Bonjour je developpe en VB 2005 EXPRESS et SQL EXPRESSJe souhaite faire un ajouter à table mais j'ai ce message d'erreur :ERROR [42000] [Microsoft][SQ Dépendance de tables SQL [ par toutgreg ] Bonjour, Je suis entrain de faire l'architecture de ma base SQL et je bloque sur une dépendance de table. Pour résumer, j'ai 3 tables et je cherche à requete dans un lot dts [ par xzonz ] salut tout le mondevoila ma question j'ai une requete qui fait les actions suivantes- verification de la presence d'une table (status_export)  si oui Probleme creation cles primaires [ par Usual suspect ] Bonjour, comment creer une cle primaire d'une table en fonction d'un cle primaire d'une autre table (exigence du cahier des charges)? Exemple : table


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales