|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Défit pour un pro [ MySQL / Requêtes ] (zazadec)
Informations & options pour cette discussion
lundi 21 janvier 2008 à 23:34:05 |
Défit pour un pro

zazadec
|
Question de se compliquer la vie, je dois reprendre un site avec une bdd déjà existante... bref vous avez compris j'ai pas le choix. 2 tables T1 et T2 avec un 'id' en commun (ces 2 champs 'id' sont en INDEX) Plusieurs champs (au total 30) dont un dans chaque table qui doit normalement me simplifier la vie, et me virer les enregistrements non voulus (puisque index). Appelons les x et y Comment relier les 2 select pour ne faire qu'une seule requête. SELECT id, x, a, b FROM T1 WHERE x = ""; SELECT id, y, c, d FROM T2 WHERE y = "";
J'ai essayé SELECT T1.id, T1.a, T1.b, T2.c, T2.d FROM T1, T2 WHERE T1.id = T2.id AND T1.id = "123" AND T1.x = "" AND T2.y = "" GROUP BY T1.id
Mais il me selectionne a chaque fois le premier champ a, b, c, ou d qu'il rencontre et pas forcement celui correspondant au clause where. Je doute. Je suis au fond du trou  , j'en peux plus. Un peu d'aide ? SVP Pour vous simplifier la compréhension, je ne vous dit pas que j'ai en fait 3 tables et 30 champs par table.zazadec
|
|
|
mardi 22 janvier 2008 à 13:13:09 |
Re : Défit pour un pro

KenZara
|
Bonjour, Je le trouve un peu bizarre ton problème, à priori ta requête te permettra de récupérer (a,b,c et d) se trouvant dans les deux tables T1 et T2 avec l'identifiant de T1 se trouvant dans T2 et qui équivaut 123. Ainsi que x et y qui sont vides. Est ce ce que tu as dans ton résultat? Peux tu nous donner un exemple de tes deux tables et le résultat de ta requête pour mieux visualiser le soucis.. Kenza 
|
|
|
mardi 22 janvier 2008 à 23:11:51 |
Re : Défit pour un pro

zazadec
|
Mon problème vient du fait que le premier enregistrement lu est retenu. C'est à dire que mon moteur SQL trouve bien des valeurs pour a b c d mais ce n'est pas celle voulues. Disons l'exemple suivant -pour T1 les valeurs suivantes id01=123, x01=5, a=a01, b=b01, id11=123, x11=6, a=a11, b=b11, id21=123, x21='', a=a21, b=b21, -pour T2 les valeurs suivantes id02=123, x02=7, c=c02, d=d02, id12=123, x12=8, c=c12, d=d12, id22=123, x22='', c=c22, d=d22, ma requete SELECT T1.id, T1.a, T1.b, T2.c, T2.d FROM T1, T2 WHERE T1.id = T2.id AND T1.id = "123" AND T1.x = "" AND T2.y = "" GROUP BY T1.id affiche le résultat suivant id=123 a=a01 b=b01 c=c02 d=d02 Comme tu peux le comprendre j'ai essayé de transcrire ma vrai requete. Mais le résultat est là !!!  zazadec
|
|
|
samedi 28 juin 2008 à 00:29:36 |
Re : Défit pour un pro

Farfadh
|
Après vérification, la requête que tu donnes en exemple fonctionne correctement et ne donne pas les résultats que tu nous fournis. Ton problème ne vient pas de sa structure, mais d'un oubli dans ton vrai code, un détail auquel tu n'as pas pensé à priori, ou éventuellement d'un bug de (ta version de) MySQL qui serait incapable de traiter ta requête correctement avec les champs que tu utilises réellement.
La prochaine fois, teste ton exemple avant d'affirmer qu'il se comporte de telle ou telle façon, je perdu du temps à le faire à ta place et je n'apprécie pas du tout.
Si tu cherches encore d'où vient ton problème, envoie-nous un exemple probant.
|
|
|
lundi 30 juin 2008 à 10:43:15 |
Re : Défit pour un pro

KenZara
|
Réponse acceptée !
Bonjour Farfadh
Ce qui m'étonne dans ta réponse, est non seulement sa dureté, mais que la question a été posé 5 mois auparavant! (La question a été posée le 21/01/2008 23:34:05 et ta réponse est le 28/06/2008 00:29:36) Donc j'imagine que la personne a non seulement fini son test, mais il a vachement avancé. "je perdu du temps à le faire à ta place et je n'apprécie pas du tout." <-- Ok! Kenza 
|
|
|
lundi 30 juin 2008 à 13:25:33 |
Re : Défit pour un pro

zazadec
|
Réponse acceptée !
Merci KenZara pour ton soutien. En effet vu l'antériorité du post, j'ai un peu avancé, voir je ne me souvenais plus de ce post. Donc à priori j'ai résolu mon pb. Désolé Farfadth de t'avoir fait perdre ton ton qui a priori était précieux.
De mémoire, j'ai fait plusieurs requetes SQL avec mis en variables des premiers résultats et utilisation de ces variables pour les suivantes.
Merci de t'etre pencher sur mon pb
zazadec
|
|
|
Cette discussion est classé dans : t1, select, id, t2, where
Répondre à ce message
Sujets en rapport avec ce message
Resultat incompréhensible [ par JALEO WAHRANI ]
Bonjour, j'ai une base avec 2 tables: 'perso et client', perso a pour colonnes:id, prop, etatétat vaut 'Y' si on effectue un suivi, sinon (par défaut)
Requete et jointure [ par jobijobar ]
Re-,bon dans un précédent post j'avais partagé avec vous mon horrible requête, pour ceux qui n'ont pas eu le grand malheur de la voir, c'était :SELECT
Recherche de texte [ par jobijobar ]
Bonjour à tous, j'ai un problème lors de l'execution d'un requete.Table t1 : id, text1, text2, text3, text4, text5Table t2 : id, id2, field1, field2,
Problème de select multiples dans plusieurs tables [ par superseb801 ]
bonjour, J'ai un problème, je voudrais faire une requête sur plusieurs tables en même temps (3 pour être plus précis), et avec d'autres SELECT dans le
Optimisation requete [ par citt ]
Bonjour,Je suis en train d'optimiser des requêtes et je me demande qu'elle manière et la plus rapide.Voici ma table
j'arrive pas a etablir un select [ par noumian ]
Bonjour, jdois effectuer un select.ce que j'ai : 2 tables EVENT(event_id,event_name)ACTION(action_id,event_id,dept_id)ce que je veux :jveux recuperer
Where variable [ par Yxion ]
Bonjour,J'aimerais savoir comment faire un where variable, c'est à dire que lorsque les paramètres de la procédure stockée ne sont pas remplit, les co
requete jointure conditionnelle [ par floxone ]
Salut, J'ai besoin de faire une requête de ce genre s'il vous plaît : SELECT SUM (v1 * (t2.v2+t2.v3+t3.v4) / v5)FROM table1 t1, table2 t2WHERE t1.
ACCESS : Comparaison de table avec élément pouvant être NULL [ par xpmich ]
<link rel="Fi
Probleme avec Sybase [ par romainbisson ]
J'essaie cette requete mais sans reussite, je souhaite mettre a jour (UPDATE) les champs C1, C2 et C3 de la table T1 les lignes que recucupere la sous
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|