sql >> Database >  >> RDS >> Mysql

twee geselecteerde uitspraken samenvoegen

Ik weet niet zeker wat je probeert te doen, maar je hebt twee geselecteerde clausules. Doe dit in plaats daarvan:

SELECT * 
FROM ( SELECT * 
       FROM orders_products 
       INNER JOIN orders ON orders_products.orders_id = orders.orders_id 
       WHERE products_id = 181) AS A
JOIN ( SELECT * 
       FROM orders_products 
       INNER JOIN orders ON orders_products.orders_id = orders.orders_id
       WHERE products_id = 180) AS B

ON A.orders_id=B.orders_id

Bijwerken:

Je zou het waarschijnlijk kunnen reduceren tot zoiets als dit:

SELECT o.orders_id, 
       op1.products_id, 
       op1.quantity, 
       op2.products_id, 
       op2.quantity
FROM orders o
INNER JOIN orders_products op1 on o.orders_id = op1.orders_id  
INNER JOIN orders_products op2 on o.orders_id = op2.orders_id  
WHERE op1.products_id = 180
AND op2.products_id = 181


  1. Hoe LOG10() werkt in MariaDB

  2. Bewaar uitvoer van sql-functie naar csv-bestand (COPY) met dynamische bestandsnaam

  3. Een gegevensmodel voor een makelaarskantoor

  4. Hamming-afstand op binaire strings in SQL