Comment faire une requête spécifique dans MySQL


XXIV
mysql> select * from  Orders;
+------+------+------+------------+------------+
| ONO  | CNO  | ENO  | RECEIVED   | SHIPPED    |
+------+------+------+------------+------------+
| 1020 | 1111 | 1000 | 1994-12-10 | 1994-12-12 |
| 1021 | 1111 | 1000 | 1995-01-12 | 1995-01-15 |
| 1022 | 2222 | 1001 | 1995-02-13 | 1995-02-20 |
| 1023 | 3333 | 1000 | 2003-02-15 | NULL       |
| 1024 | 4444 | 1000 | 2003-02-15 | 2003-02-16 |
| 1025 | 5555 | 1000 | 2003-02-15 | 2003-02-16 |
+------+------+------+------------+------------+

mysql> select * from Employees;
+------+--------+-------+------------+
| ENO  | ENAME  | ZIP   | HDATE      |
+------+--------+-------+------------+
| 1000 | Jones  | 67226 | 1995-12-12 |
| 1001 | Smith  | 60606 | 1992-01-01 |
| 1002 | Brown  | 50302 | 1994-09-01 |
| 1003 | Green  | 28411 | 2002-09-01 |
| 1004 | Purple | 28411 | 2003-01-01 |
+------+--------+-------+------------+

mysql> select * from Customers;
+------+---------+------------------+-------+--------------+
| CNO  | CNAME   | STREET           | ZIP   | PHONE        |
+------+---------+------------------+-------+--------------+
| 1111 | Charles | 123 Main St.     | 67226 | 316-636-5555 |
| 2222 | Bertram | 237 Ash Avenue   | 67226 | 316-689-5555 |
| 3333 | Barbara | 111 Inwood St.   | 60606 | 316-111-1234 |
| 4444 | Will    | 111 Kenwood St.  | 54444 | 416-111-1234 |
| 5555 | Bill    | 211 Marlwood St. | 28408 | 416-111-1235 |
| 6666 | Keely   | 211 Pinewood St. | 28411 | 416-111-1235 |
| 7777 | Maera   | 211 Marlwood St. | 28408 | 416-111-1235 |
+------+---------+------------------+-------+--------------+

J'ai besoin de: Obtenir cnameet enameassocier de telle sorte que le client avec le nom cnamea passé une commande par l'intermédiaire de l'employé avec le nom ename.

Je suis sûr que cela semble facile pour la plupart, mais je n'ai pas été en mesure de comprendre cela. J'ai essayé ceci:

select distinct Customers.CNAME, Employees.ENAME
from   Customers, Employees
where  Customers.CNO in (
    select Customers.CNO
    from   Customers, Orders
    where  Customers.CNO = Orders.CNO
) and
where  Employees.ENO in (
    select Employees.ENO
    from   Orders, Employees
    where  Employees.ENO = Orders.ENO
);

en plusieurs versions, mais je n'arrive pas à le faire fonctionner. C'est la première fois que je travaille en SQL, c'est donc très nouveau pour moi. J'apprécierais vraiment n'importe quelle aide.

Loveen Dyall
select customers.CNAME, employees.ENAME from customers 
inner join orders on customers.CNO = orders.CNO
inner join employees on orders.ENO = employees.ENO;

L'utilisation des instructions de jointure facilite la lecture du SQL que vous essayez de faire. Cela joint la table des commandes aux clients sur la valeur CNO et la table des commandes avec les employés sur la valeur ENO. Il sélectionne ensuite deux colonnes pour l'affichage.

Articles connexes


Comment faire une requête à une URL spécifique dans Julia?

logankilpatrick J'essaie d'accéder aux données de l'URL suivante dans Julia. Je peux voir ce qui semble être un objet JSON lorsque je vais sur " https://api.stackexchange.com/2.2/questions?order=desc&sort=activity&tagged=Julia&site=stackoverflow ". Cependant,

Comment faire une simple requête SQL dans mySQL?

vppy s'il vous plaît aidez-moi les gars! Mon code ne fonctionne pas :( Où est mon erreur? SELECT * from dummy_table where `a` + `b` + `c` like '99'; J'ai un retour vide bien qu'il y ait des lignes où la somme de (a, b, c) donne 99. a est un entier tandis que

Comment faire une requête Intersect dans MySQL ?

josy sclei J'ai deux requêtes SQL et j'ai besoin de l'intersection entre elles. Je sais que mysql n'a pas d'opérande d'intersection, alors comment pourrais-je le faire? J'ai essayé quelques solutions que j'ai trouvées en ligne, mais elles renvoient toutes une

Comment faire fonctionner les variables Mysql dans une requête

bigjake Cela fait un moment que je lutte pour essayer de générer du code pour des agrégations automatiques dans ma base de données mysql / mariadb. La méthode que j'essaie actuellement utilise des variables. J'avoue à l'avance que je ne suis en aucun cas un ex

comment faire une requête pivot dans mysql?

user5332276 J'ai une table criteriadont la structure est comme ceci: +----------+------+-------+ | criteria | user | total | +----------+------+-------+ | xxxxxxxx | xx | xxx | +----------+------+-------+ J'ai un problème pour créer une requête. Je veux f

comment faire une requête mysql RIGHT () dans adonisJs

anggi117 j'essaye une requête SQL SELECT MAX(RIGHT(fieldlist, 3)) as list FROM table_db WHERE fieldlist LIKE 'ABC%'dans adonisJS code : const noFaktur = await database .from("table_db") .max(right("fieldlist as list", 3))