begin process at 2012 05 26 17:58:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

MySQL

 > 

Requêtes

 > 

Mettre plusieurs requetes en une seule


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

Mettre plusieurs requetes en une seule

mardi 24 mars 2009 à 16:13:09 | Mettre plusieurs requetes en une seule

enibib

Bonjour après une recherche sur plusieurs forum je n'arrive pas à trouver une solution a mon problème.

Voici a quoi ressemble mes 2 tables :
table_1 :
Id_1  - nom  -  prenom

table_2 :
Id_2 - rappel

et voici la requete que je voudrais faire (fausse bien pour le moment) désolé pour la syntaxe mais je pense que c'est plus explicite qu'un long discourt :
SELECT * from table_1 WHERE ( table_1.Id_1 = table_2.Id_2) AND WHERE (table_2.Rappel = 'on' )

Jusqu'à présent je passé par plusieurs requêtes pour avoir mon résultat .Comment est-il possible de n'en faire qu'une seule svp??


mardi 24 mars 2009 à 17:01:57 | Re : Mettre plusieurs requetes en une seule

aieeeuuuuu

Réponse acceptée !
bonjour

la clause WHERE ne doit apparaitre qu'une fois.
si tu veux mettre plusieurs conditions, tu les sépares uniquement par des opérandes logiques : AND, OR,...
avec des parenthèses si tu veux

d'autre part, il y a un autre problème dans ta requête, car tu fais des comparaison sur des champs de ta table 2, alors que celle-ci n'est pas spécifiée dans ta clause FROM. ça pourra pas fonctionner.

donc soit tu fais une jointure :
SELECT ID_1, Nom, Prenom
FROM Table_1, Table_2
WHERE ( table_1.Id_1 = table_2.Id_2) AND (table_2.Rappel = 'on' )

soit tu passes par une requete imbriquée :
SELECT *
FROM Table_1
WHERE Id_1 IN (SELECT Id_2 FROM Table_2 WHERE Rappel = 'on')

mardi 24 mars 2009 à 17:12:42 | Re : Mettre plusieurs requetes en une seule

enibib

Je te remerci pour ta réponse c'est exactement ce que je chercher et n'arrivé pas à faire .Je n'est pas testé mais les 2 solutions vont beaucoup m'aider
mardi 24 mars 2009 à 19:59:39 | Re : Mettre plusieurs requetes en une seule

nhervagault

Administrateur CodeS-SourceS
Salut,

tu peux utiliser les jointures

SELECT ID_1, Nom, Prenom
FROM Table_1
INENR JOIN  Table_2 ON  table_1.Id_1 = table_2.Id_2
WHERE  table_2.Rappel = 'on'
mercredi 25 mars 2009 à 09:08:43 | Re : Mettre plusieurs requetes en une seule

enibib

Merci pour cette nouvelle solution mais j'ai résolu mon problème avec la solution précédente qui marche très bien :
SELECT *
FROM Table_1
WHERE Id_1 IN (SELECT Id_2 FROM Table_2 WHERE Rappel = 'on')

PS : Tu veu parler INNER JOIN surement ? faute de frappe mais à signaler quand même merci encore pour votre aide précieuse
mercredi 25 mars 2009 à 18:25:26 | Re : Mettre plusieurs requetes en une seule

nhervagault

Administrateur CodeS-SourceS
Oui c'est innet join

La requete est plus performante et plus maintenable qu'avec une sous requete

elle est meme plus performante normalement que la from table1, table2
car il n'y a pas de produit cartesien (normalement les optimiseurs des bases de données l'optimise)

Bon SQL


Cette discussion est classée dans : table, id, requetes, seule, rappel


Répondre à ce message

Sujets en rapport avec ce message

3 requetes en 1...pour debutant [ par lld2308 ] BonjourJ'ai une table avec les champs 'ID','cours' et 'diff'.pour calculer la difference entre le cours de 2 id successifs puis updater la table, je f Insertion de donnees dans une table à partir de données de la même table [ par Mynie ] Bonjour !Bloquée depuis des heures sur le problème suivant :J'ai dans ma table 1 une série d'enregistrement que je dois dupliquer dans la même table m Boucler sur deux tables [ par XtazyMushroom ] Bonjour j'ai un petit probleme pour executer une boucle sur deux tables. Je m'explique J'ai une table 1 et une table 2: Table 1 id(char) valeur 334 Correction de Trigger [ par 4rocky4 ] Bonjour tout le monde,Je voudrai créer des triggers qui permettent de mettre à jour des tables sous Oracle.Par exemple, si on modifie la clef primaire Problème de requêtes imbriquées [ par sebshiva ] Bonjour, Malgré plusieurs heures de recherche, je ne trouve pas comment faire fonctionner cette requête mysql... SELECT tel.tel_tel, tel.type_tel, adr Recherche sur table de jointure [ par MereDenis ] Bonjour.Premier post sur un forum après plusieurs tentatives de recherches infructueuses mais surement maladroites donc milles excuses si la questions Requête table intermédiaire (AND) [ par ikan66 ] Bonjour à tous,Je souhaite écrire une requête permettant d'interroger une table intermédiaire comprenant les champs : journal_id et domaines_id. Table Trigger et @@identity dans sql server [ par grapevine ] Bonjour à tous , Je me pose une question assez pointue et j'attends que les spécialistes de sql server se manifestent :Imaginer que je crée une table {MySql] Problème d'intégrité référentielle [ par beegeezzz ] Bonjour tout le monde,J'ai une table qui est nommé "cours" dont voici la structure :ID      int(11)       Non                MNEMONIC     varchar(255) Concaténation et inscription du résultat dans une table [ par x3ption ] Bonjour!Voilà... je suis débutant en ce qui attrait au SQL et VBA pour MS Access. Je suis actuellement à la création d'une base de donnée de films DVD


Nos sponsors


Sondage...

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 : 1,186 sec (3)

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