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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Soustraire deux tables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Soustraire deux tables

n°2070028
alexis23
Posté le 14-04-2011 à 15:49:25  profilanswer
 

Salut tout le monde,
 
Je m'exerce à utiliser access 2003 pendant mon stage, mais je suis ultra novice en la matière. Je sais, access 2003 c'est vieux...
Voilà mon problème. Pour simplifier, j'ai une table avec que des numéros de commune. Mais j'ai besoin d'avoir qu'une partie de ces communes. J'ai donc créé une autre table avec les communes que je ne voulais pas. Maintenant, j'aimerais soustraire les deux tables pour ne garder que les communes de la première table qui m'intéressent.
 
Comment pourrais-je faire ?
 
Merci beaucoup !
 
P.S.1 : on m'a dit d'utiliser "minus" mais ça n'existe pas dans access 2003...
P.S.2 : et les autres personnes du stage n'utilisent pas access mais c'est tout ce que j'ai pour l'instant.

mood
Publicité
Posté le 14-04-2011 à 15:49:25  profilanswer
 

n°2070035
skeye
Posté le 14-04-2011 à 16:09:15  profilanswer
 

à la brute? Genre  :

 
Code :
  1. DELETE FROM table_originelle
  2. WHERE identifiant IN (SELECT identifiant FROM table_indésirables)
 

:??:


Message édité par skeye le 14-04-2011 à 16:09:29

---------------
Can't buy what I want because it's free -
n°2070036
skeye
Posté le 14-04-2011 à 16:10:23  profilanswer
 

(mais bon je vois pas vachement l'intérêt, en général on aime bien avoir des tables de référence complètes...? :??:)


Message édité par skeye le 14-04-2011 à 16:11:01

---------------
Can't buy what I want because it's free -
n°2070050
alexis23
Posté le 14-04-2011 à 16:43:01  profilanswer
 

Oui, mais j'aimerais effectuer une sélection de la table d'origine pour ne pas avoir de biais dans le traitement statistique que je vais faire dessus après. C'est pour créer une nouvelle table avec juste les données dont j'ai besoin. Ton code supprime pour de bon des lignes de la table ou les enlève juste pour la requête ?
 
Merci à toi skeye pour ta réponse

n°2070055
skeye
Posté le 14-04-2011 à 17:08:32  profilanswer
 

ça les enlève de la table!!!
Si tu veux juste les ignorer dans une requête rien à voir!!


---------------
Can't buy what I want because it's free -
n°2070060
alexis23
Posté le 14-04-2011 à 17:39:39  profilanswer
 

skeye a écrit :

ça les enlève de la table!!!
Si tu veux juste les ignorer dans une requête rien à voir!!


 Donc j'ai bien fait de ne pas essayer ! Et pour les ignorer il faut faire comment ?

n°2070062
skeye
Posté le 14-04-2011 à 17:51:28  profilanswer
 

Montre la requête dans laquelle tu veux les enlever.


---------------
Can't buy what I want because it's free -
n°2070091
alexis23
Posté le 14-04-2011 à 20:26:49  profilanswer
 

Tu veux dire les tables ? Pour l'instant j'ai pas de requête.
Et comment je te les montre ?
En gros dans la première table (celle où il a trop d'infos) il y a :
 
Provenance des patates  |  Nombre de kilomètre effectué
2256                                 5
78965                               514
93056                               210
 
Mais il y a certaine provenance que je ne veux pas (pour une raison quelconque). J'ai donc fait une table avec les provenances non voulues :
 
Provenance de patate         | nombre de kilomètre effectué
93056                                  210
 
Et maintenant je voudrais donc soustraire la première table par la deuxième.
 
Si tu sais comment faire ça serait super !

n°2070110
skeye
Posté le 14-04-2011 à 21:43:27  profilanswer
 

Mais tu veux quoi en sortie? Le contenu brut de la première table?
C'est pas bien compliqué...la solution la plus simple étant d'utiliser "not in", je pense.


Message édité par skeye le 14-04-2011 à 21:43:35

---------------
Can't buy what I want because it's free -
n°2070138
Oliiii
Posté le 15-04-2011 à 07:43:19  profilanswer
 

Ca devrai te donner ce que tu cherches:

Code :
  1. SELECT a.*
  2. FROM table_originelle a
  3.    LEFT JOIN table_indesirable b ON a.[Provenance de patate] = b.[Provenance de patate]
  4. WHERE b.[Provenance de Patate] IS NULL

mood
Publicité
Posté le 15-04-2011 à 07:43:19  profilanswer
 

n°2070150
skeye
Posté le 15-04-2011 à 08:46:52  profilanswer
 

ça c'est une solution qu'il risquait de ne pas comprendre, et surtout ne pas trouver tout seul, d'où ma suggestion du not in...[:joce]

Message cité 1 fois
Message édité par skeye le 15-04-2011 à 08:47:11

---------------
Can't buy what I want because it's free -
n°2070160
alexis23
Posté le 15-04-2011 à 09:12:54  profilanswer
 

Tu pourrais expliciter le not in ?
Je vais essayer ce que me propose Oliiii en attendant.

n°2070163
skeye
Posté le 15-04-2011 à 09:17:05  profilanswer
 

alexis23 a écrit :

Tu pourrais expliciter le not in ?
Je vais essayer ce que me propose Oliiii en attendant.


Il y a pas grand chose à expliciter...j'imagine que tu as quand même quelques bases en SQL, non?[:autobot]
"NOT IN" te permet de faire exactement ce que ça dit...tu cherches les enregistrements de ta table originelle qui ne sont "PAS DANS" la table des "indésirables", non?:o


Message édité par skeye le 15-04-2011 à 09:17:13

---------------
Can't buy what I want because it's free -
n°2070166
alexis23
Posté le 15-04-2011 à 09:21:03  profilanswer
 

En fait j'ai commencé à utiliser access mardi et l'interface graphique suffisait jusqu'ici, donc on peut dire que je n'ai pas de base en SQL. C'est abusé qu'on puisse pas faire ça avec l'interface graphique, c'est un peu de la daube quand même :s. 2003 c'est pas si vieux quand même...

n°2070168
alexis23
Posté le 15-04-2011 à 09:22:33  profilanswer
 

D'ailleurs si vous avez un logiciel libre pour faire des requêtes SQL avec une interface graphique je suis preneur !

n°2070177
alexis23
Posté le 15-04-2011 à 09:33:11  profilanswer
 

J'y suis arrivé avec NOT IN ! J'en ai bien chié mais c'est bon ! J'apprends le SQL n'importe comment mais bon, du moment que ça marche. Bon je suis pas près de faire des supers trucs mais je ferai avec ^^.
Par contre je suis toujours preneur d'un logiciel libre ;-).
 
Merci à vous pour vos conseils.

n°2070225
Oliiii
Posté le 15-04-2011 à 11:04:31  profilanswer
 

skeye a écrit :

ça c'est une solution qu'il risquait de ne pas comprendre, et surtout ne pas trouver tout seul, d'où ma suggestion du not in...[:joce]


C'est vrai... ca m'apprendra a lire les post en diagonale  :lol:  
 
Sinon pour apprendre le SQL tu peux essayer un sql server express (avec le management studio express) qui est gratuit.
Où tu peux faire des query de facon graphique mais aussi apprendre le SQL en dessous et pour finir faire tout le SQL toi meme.
 
Si tu veux vraiment du libre tu peux jetter un coup d'oeuil du coté MySQL, mais la il faudra que quelqu'un d'autre te donne les info parceque j'y connais rien :)

n°2070238
alexis23
Posté le 15-04-2011 à 11:43:14  profilanswer
 

Je ne savais pas que MySQL était libre...
Merci pour tout ! Salut !

n°2070245
rufo
Pas me confondre avec Lycos!
Posté le 15-04-2011 à 11:53:22  profilanswer
 

alexis23 a écrit :

J'y suis arrivé avec NOT IN ! J'en ai bien chié mais c'est bon ! J'apprends le SQL n'importe comment mais bon, du moment que ça marche. Bon je suis pas près de faire des supers trucs mais je ferai avec ^^.
Par contre je suis toujours preneur d'un logiciel libre ;-).
 
Merci à vous pour vos conseils.


 
Ben mon vieux, si t'en a chié pour ça, ça promet pour la suite  :ouch: Je pense qu'avant tout, acheter un livre sur le SQL ou consulter des tutos dessus me paraît plus qu'urgent :/


---------------
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°2070246
rufo
Pas me confondre avec Lycos!
Posté le 15-04-2011 à 11:55:41  profilanswer
 

alexis23 a écrit :

Je ne savais pas que MySQL était libre...
Merci pour tout ! Salut !


 
C'est en licence GPL et pour l'ihm "graphique", y'a phpmyadmin (ihm web) ou MySQLQueryBrowser (client lourd). Mais concernant le sql, ça ne permet que de taper à la main les requêtes, c'est pas comme access qui te masque le sql généré (ce qui n'est pas une bonne chose en général)...


---------------
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°2070380
alexis23
Posté le 15-04-2011 à 20:30:07  profilanswer
 

rufo a écrit :


 
Ben mon vieux, si t'en a chié pour ça, ça promet pour la suite  :ouch: Je pense qu'avant tout, acheter un livre sur le SQL ou consulter des tutos dessus me paraît plus qu'urgent :/


 
J'ai fait des trucs simples où l'interface graphique suffisait jusque là, et je 'navais jamais vu de requête SQL de ma vie. Après, j'en aurai pas besoin outre mesure donc si c'est  le cas j'apprendrai le langage mais sinon ça me suffira.
Je  code pas en PHP, je fais que des trucs basiques pour faire ensuite du traitement statistique et des cartes sous mapinfo donc bon, pas besoin d'être une brute...
 
Bon, je ne pensais pas me prendre ce genre de remarque. Bref, salut !

mood
Publicité
Posté le   profilanswer
 


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

  Soustraire deux tables

 

Sujets relatifs
Joindre 4 tables[aide] ACCESS, création tables (appliquée pour une gestion budget)
Copier tables MySQL vers un autre serveur[ACCESS 2007] faire un formulaire sur 3 tables
[RESOLU] [MySQL] Jointures sur 3 tables[archi mysql] splitter ou non des tables pour gagner en perf ?
[C] soustraire deux pointeursFormulaire multi-tables
synchroniser des tables avec un trigger[Access] Soustraire deux tables
Plus de sujets relatifs à : Soustraire deux tables


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