2011-04-09 3 views
0

J'utilise ceci pour obtenir le nom de client pour la fonction complète automatique.Comment sélectionner une deuxième table dans une requête?

$query = $db->query("SELECT orderr_customer_name FROM orderr WHERE orderr_customer_name LIKE '$queryString%' GROUP by orderr_customer_name LIMIT 10"); 
       if($query) { 
        while ($result = $query ->fetch_object()) { 

         echo '<li onClick="fill(\''.$result->orderr_customer_name.'\');">'.$result->orderr_customer_name.'</li>'; 

Comment puis-je sélectionner une autre table? C'est la table que je veux utiliser

("SELECT customer_name FROM customer WHERE customer_name LIKE '$queryString%' GROUP by customer_name LIMIT 10"); 

Merci beaucoup.

+0

Euh ... Soit votre question n'est pas très claire, soit c'est une blague. Si vous voulez utiliser une autre table, vous avez l'instruction SELECT juste là; vous l'avez posté. Est-ce que vous posez des questions sur le fait de CHOISIR des ** deux ** tables en même temps? –

+0

Oui, je veux choisir parmi 2 tables en même temps. – emre

+0

Est-ce que l'une des deux solutions affichées a répondu à votre question? Si oui, veuillez cocher la case appropriée comme réponse; sinon, veuillez clarifier davantage la question initiale. –

Répondre

0

Vous devriez regarder dans quelque chose comme ça (Notez que je ne peux pas tester maintenant, cela est seulement une ligne directrice):

SELECT orderr.orderr_customer_name, customer.customer_name 
FROM customer INNER JOIN orderr_customer_name ON orderr.orderr_customer_name = customer.customer_name 
WHERE customer_name LIKE '$queryString%' GROUP by customer_name LIMIT 1 

Pleasy lire la doc: Here

0

On dirait que vous demandons comment interroger et combiner les résultats de deux tables en utilisant une seule requête. Cela peut être accompli assez facilement avec un UNION dans MySQL.

(SELECT orderr_customer_name AS customer_name FROM orderr WHERE orderr_customer_name LIKE '$queryString%') 
UNION 
(SELECT customer_name FROM customer WHERE customer_name LIKE '$queryString%') 
ORDER BY customer_name LIMIT 10 

N'oubliez pas de vous assurer que vous échapper/désinfectez $queryString, et que vous avez des index appropriés sur vos tables. En outre, dans votre exemple spécifique, il semble que vous dupliquiez les noms des clients dans au moins un endroit; alors que certaines applications le nécessitent, vous pouvez également envisager une normalisation, mais c'est un autre sujet.

Questions connexes