Ist es möglich, Unterabfragen und Joins in einer einzigen MYSQL-Anweisung zu kombinieren?
P粉647449444
P粉647449444 2024-04-04 13:00:10
0
1
347

Diese Frage verwirrt mich. Ich versuche, Join und Unterabfragen in MySQL zu verwenden, erhalte jedoch ständig Syntaxfehler.

Die betreffende Aussage ist

SELECT Customer.customer_id, Customer.name, Order.address FROM Customer 
WHERE customer_id = (SELECT customer_id FROM Order WHERE customer_id = "625060836f7496e9fce3bbc6") 
INNER JOIN Order ON Customer.customer_id=Order.customer_id;

Ich habe versucht, die Abfrage einfach ohne Unterabfrage zu verwenden, und es hat gut funktioniert.

SELECT Customer.customer_id, Customer.name, Order.address FROM Customer  
INNER JOIN Order ON Customer.customer_id=Order.customer_id;

Das Entfernen des Joins, aber das Beibehalten der Unterabfrage funktioniert auch.

SELECT Customer.customer_id, Customer.name, Order.address FROM Customer 
WHERE customer_id = (SELECT customer_id FROM Order WHERE customer_id = "625060836f7496e9fce3bbc6")

Allein die gemeinsame Verwendung von Unterabfragen und Joins führt zu Syntaxfehlern

Ich kann den Fehler anscheinend nicht finden.

Was mache ich hier falsch?

Vielen Dank im Voraus

P粉647449444
P粉647449444

Antworte allen(1)
P粉894008490

秘密是正确的语法!

当查询多个表时,最好使用别名来引用它们,并且在多个表共享相同列名的情况下,字符串文字也应该用单引号分隔。

在这个具体示例中,子查询是多余的,只需在 where 子句中直接使用字符串文字即可。

SELECT c.customer_id, c.name, o.address 
FROM Customer c
JOIN Order o ON c.customer_id = o.customer_id
WHERE c.customer_id = (
  SELECT customer_id 
  FROM Order 
  WHERE customer_id = '625060836f7496e9fce3bbc6'
);
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!