Novice en SQL

Novice en SQL - SQL/NoSQL - Programmation

Marsh Posté le 29-04-2010 à 23:32:51    

Bonsoir,
 
Je tiens d’abord à m’excuser avec mes problèmes et j’espère trouver en vous des personnes sympathiques qui pourront m’aider, j’utilise habituellement Access mais je n’ai pas encore eu l’occasion ni le besoin de travailler avec SQL, je viens de m’acheter SQL pour les Nuls mais il me faudra un peu de temps, mon problème :
 
-J’ai une table A avec les champs ID_Personne, ID_Ticket > ces champs sont figés, sans doublons.
-J’ai une table B avec les champs  Last_Name, First_Name, Expiration_Date, Text_1, Text_2.
-Je dois créer une table C avec ID_Personne,ID_Ticket, Last_Name, First_Name, Expiration_Date,Text_1, Text_2  > ne doivent ressortir sur cette table que les enregistrements dont Expiration_Date est supérieure à Now()+1 (Moment de la requête + 1 jour).
 
Pour moi la cela se corse, lors de la prochaine exécution je dois supprimer de la table C tous les enregistrements dont  Expiration_Date est supérieure à Now()+1 et réintégrer les champs ID_Personne et ID_Ticket des champs supprimés dans la table A ; Prendre tous les Champs de la table B dont le champ Expiration_Date est supérieure à Now()+1 et les ajouter à la table C avec les champs de la table A disponibles lors de l’exécution .
 
La table A est mise à jour automatiquement par une liaison avec Excel.
Le lancement de l’exécution se fera par un bouton depuis un formulaire.
 
Cerise sur le gâteau, une table d’horodatage qui m’affichera les différentes manips effectuées par Access avec l’heure de l’exécution, exemple :
Numéro de transaction > Num_Auto, indexé sans doublons  
Date de transaction       >Date et Heure de l’exécution
Last_Name                   >Nom de famille
First_Name                   >Prénom
ID_Personne                 >Pour les tables A et C
ID_Ticket                     >Pour les tables A et C
Type de transaction       >Suppression de C vers A
                                  >Suppression de B
                                  >Ajout de C avec A
 
 :??:  

Reply

Marsh Posté le 29-04-2010 à 23:32:51   

Reply

Marsh Posté le 30-04-2010 à 09:41:12    

Citation :

j’utilise habituellement Access mais je n’ai pas encore eu l’occasion ni le besoin de travailler avec SQL


J'en déduis que tu considère que faire du Access c'est pas faire du SQL, c'est bien au moins du est lucide :lol:
 
Question : j'espère que t'as ID_Personne dans ta table B sinon, comme vas tu faire al jointure entre le nom et l'Id d'une personne à coup sûr :??:


---------------
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
Reply

Marsh Posté le 01-05-2010 à 00:06:24    

rufo a écrit :

Citation :

j’utilise habituellement Access mais je n’ai pas encore eu l’occasion ni le besoin de travailler avec SQL


J'en déduis que tu considère que faire du Access c'est pas faire du SQL, c'est bien au moins du est lucide :lol:
 
Question : j'espère que t'as ID_Personne dans ta table B sinon, comme vas tu faire al jointure entre le nom et l'Id d'une personne à coup sûr :??:


 
Bonsoir Rufo, je vois que tu as cerné le personnage, je te remercie déjà de m'avoir répondu, c'est sympa.
Pour ta question c'est non, le fait est que régulièrement on reprend les ID_Personne et les ID_Ticket pour les affecter à de nouveaux arrivants.
 
J'essaye une nouvelle approche, je dois recevoir des personnes et je leur donne un ticket qui pas encore été affecté, dés que ce ticket a été attribué et que le délai est périmé je le remets dans les tickets disponibles et je vire la personne de ma table, dés un nouveau arrivant je peux reprende ce ticket s'il est disponible et l'attribuer à une personne.
 
En te remerciant par avance.

Reply

Marsh Posté le 04-05-2010 à 11:55:37    

avec ça, tu gère que de "l'instantané", pas possible de remonter dans des périodes antérieures vue que tu vires des infos, donc pas possible de faire des stats a priori :/ Pour faire un BD relationnelle, il faut que ID_Personne soit associé à un unique nom/prénom (et attention aux homonymes!). Maintenant, avec des BIG INT qui montent à plusieurs milliards (surtout en les mettant en non signé), tu vas avoir du temps avant ed saturer tes ID :/
 
Cela dit, ton dernier post ne posait pas de question... (ou alors bien cachée!)


---------------
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
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed