Une requete...

Résolu
Bonjour,

imaginez deux tables t1 et t2 et dans ces tables il existe deux attribut t11 ds t1 et t22 ds t2...

comment ecrit une requete dans laquelle...

select t11,t22 from t1,t2 where $h=t11 ou $h=t22

et si je utilise mysql-fetch-array il faut une resultat c-a-d

$k=mysql_query(la requete preced);
$E=mysql-fetch-array($k)

donc $E[un seul nom qui contient le resultat de la requete]

"j'ai utilise ca ds ajax si j'entre un caractere dans un champ text le champ est rampli automatiquement selon des valeurs de deux table"

J'espère que j'ai réussi dans la description du problème

6 réponses

  1. merci xavier

    SELECT t11 FROM t1 WHERE $h = t11(avec t11 un des valeurs de t1)
    UNION
    SELECT t22 FROM T2 WHERE $h = t22 (.............................................)

    merci bcp bcp
    -------------------------------------------------------------------
    Par contre, ce que je ne comprends pas avec ton exemple, c'est que ça revient à récupérer $h... que tu connais déjà... À mon avis, il y a un soucis dans le WHERE que tu nous demandes. Il ne s'agit pas de t11 et t22, mais plutôt d'autres colonnes...
    ------------pour donner un example simple avec un seul valeur t11 qui deja connu--------------------------------------------------------
    1. N'hésite pas à mettre +1 ;)
  2. Bonjour,

    Ce que tu veux, c'est UNION, non ?

    Essaie cette requête :

    SELECT t11 FROM t1 WHERE $h = t11
    UNION
    SELECT t22 FROM T2 WHERE $h = t22

    Par contre, ce que je ne comprends pas avec ton exemple, c'est que ça revient à récupérer $h... que tu connais déjà... À mon avis, il y a un soucis dans le WHERE que tu nous demandes. Il ne s'agit pas de t11 et t22, mais plutôt d'autres colonnes...

    Xavier
    1. non impossible de trouve deux valeurs egaux entre les deux tables
      1. Ca marchera tkt
      2. bd1 c-a-d base de donnee
      3. un autre...
      4. ????
    2. Oulah !

      Je te donne l'algo tu l'écris en sql ?

      Tant que (on est pas à la fin de bd1 ni de bd2) faire 
               si (case de bd1 > case de bd2) alors 
                        case de bd3 <= case de bd2 
                        passage à la case de bd3 suivante 
                        passage à la case de bd2 suivante 
               sinon 
                        case de bd3 <= case de bd1 
                        passage à la case de bd3 suivante 
                        passage à la case de bd1 suivante 
               fin si 
      fin tant que 
      Si (on est pas à la fin de bd1) alors 
               tant que (on est pas à la fin de bd1) faire 
                        case de bd3 <= case de bd1 
                        passage à la case de bd3 suivante 
                        passage à la case de bd1 suivante 
               fin tant que 
      fin si 
      Si (on est pas à la fin de bd2) alors 
               tant que (on est pas à la fin de bd2) faire 
                        case de bd3 <= case de bd2 
                        passage à la case de bd3 suivante 
                        passage à la case de bd2 suivante 
               fin tant que 
      fin si 


      Voilà ! plus qu'à le traduire ! PS si tu as une même valeur présente dans les deux tables, elle sera recopié autant de fois qu'elle est présente.

      Varaldi Q.
      Laisse moi 2 minutes que j'te trouve un autre truc...
      1. t11=2,3,4 et t22 =5,6,7 c-a-d les valeurs dans les attributs la case 1 de t11=2...
      2. imaginez deux table voitures et Camions

        et les deux tables composes d'un seul attribut voitures-->marque et Camions-->Taille par example....

        donner moi la requte qui affiche les marques et les tailles mais dans un seul table nommé voicam...""

        merci Varaldi Q pour le Suivi...
      3. Ah ok !

        Il te faut juste mettre order by asc à la fin de ta requête, pour trier la base de données en résultant !
      4. non!!!!!!!!!

        mais le resultat doit étre une table avec une attribut....

        donner moi la requte qui affiche les marques et les tailles mais dans un seul table nommé voicam..."" avec comme valeur les valeurs des deux attributs t11 t22
    3. non,le probleme c il faut le resultat des select classer dans un seul table c-a-d si t11=2,3,4 et t22 =5,6,7 le resultat un table qui nome par example result qui contient 1,2,3,4,5,6,7...
      1. Est-ce que tes deux tables ont un lien entre elles (genre une colonne en commun ou autre) ?

        Car ta requête s'écrirait plutôt

        select t11,t22 from t1 inner join t2 on t1.quelquechose=t2.quelquechose where $h=t11 ou $h=t22