Soustraire deux tables - SQL/NoSQL - Programmation
Marsh Posté le 14-04-2011 à 16:09:15
à la brute? Genre :
Code :
|
Marsh Posté le 14-04-2011 à 16:10:23
(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...? )
Marsh Posté le 14-04-2011 à 16:43:01
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
Marsh Posté le 14-04-2011 à 17:08:32
ça les enlève de la table!!!
Si tu veux juste les ignorer dans une requête rien à voir!!
Marsh Posté le 14-04-2011 à 17:39:39
skeye a écrit : ça les enlève de la table!!! |
Donc j'ai bien fait de ne pas essayer ! Et pour les ignorer il faut faire comment ?
Marsh Posté le 14-04-2011 à 17:51:28
Montre la requête dans laquelle tu veux les enlever.
Marsh Posté le 14-04-2011 à 20:26:49
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 !
Marsh Posté le 14-04-2011 à 21:43:27
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.
Marsh Posté le 15-04-2011 à 07:43:19
Ca devrai te donner ce que tu cherches:
Code :
|
Marsh Posté le 15-04-2011 à 08:46:52
ç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...
Marsh Posté le 15-04-2011 à 09:12:54
Tu pourrais expliciter le not in ?
Je vais essayer ce que me propose Oliiii en attendant.
Marsh Posté le 15-04-2011 à 09:17:05
alexis23 a écrit : Tu pourrais expliciter le not in ? |
Il y a pas grand chose à expliciter...j'imagine que tu as quand même quelques bases en SQL, non?
"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?
Marsh Posté le 15-04-2011 à 09:21:03
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...
Marsh Posté le 15-04-2011 à 09:22:33
D'ailleurs si vous avez un logiciel libre pour faire des requêtes SQL avec une interface graphique je suis preneur !
Marsh Posté le 15-04-2011 à 09:33:11
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.
Marsh Posté le 15-04-2011 à 11:04:31
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... |
C'est vrai... ca m'apprendra a lire les post en diagonale
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
Marsh Posté le 15-04-2011 à 11:43:14
ReplyMarsh Posté le 15-04-2011 à 11:53:22
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 ^^. |
Ben mon vieux, si t'en a chié pour ça, ça promet pour la suite Je pense qu'avant tout, acheter un livre sur le SQL ou consulter des tutos dessus me paraît plus qu'urgent
Marsh Posté le 15-04-2011 à 11:55:41
alexis23 a écrit : Je ne savais pas que MySQL était libre... |
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)...
Marsh Posté le 15-04-2011 à 20:30:07
rufo a écrit : |
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 !
Marsh Posté le 14-04-2011 à 15:49:25
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.