-1
votes

Deux requêtes SELECT sur la même table

J'ai du mal à trouver une réponse à cette question.

J'ai une table où je peux avoir plusieurs identifiants de commande pour un client (email) p> xxx pré>

i Besoin de faire une requête où je passe dans n'importe quel ordre_id pour un client, et cela renvoie toutes leurs commandes. P>

J'ai deux requêtes SELECT, je dois combiner dans une requête pour enregistrer sur le temps de chargement. P>

SELECT email FROM orders WHERE order_id = '1234567890'

SELECT order_id FROM orders WHERE email = 'email_found_from_first_query'


3 Réponses :


2
votes

Une méthode utilise une sous-requête corrélée: xxx


2 commentaires

Mais vous n'utilisez pas existez dans votre requête. Et ce serait inefficace.


@Paulspiegel. . . Merci.



2
votes

Une vieille voie scolaire d'utilisation peut être utilisée ici: xxx

La requête est peu chère.


1 commentaires

Pourquoi utiliseriez-vous pour une sous-requête qui renvoie une ligne seulement.



0
votes

Cela semble mieux adapté à une jointure simple. https://www.mysqltutorial.org/mysql-join/

SELECT orig_order.email, all_orders.order_id
FROM orders as orig_order
JOIN orders as all_orders ON orig_order.email = all_orders.email
WHERE orig_order.order_id = '1234567890'


0 commentaires