sql >> Databáze >  >> RDS >> Mysql

spojení dvou vybraných příkazů

Nejste si jisti, co se snažíte udělat, ale máte dvě vybrané klauzule. Místo toho udělejte toto:

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

Aktualizace:

Pravděpodobně byste to mohli zredukovat na něco takového:

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. Existuje v databázích Oracle nějaký booleovský typ?

  2. Rozdělit řetězce pomocí mysql

  3. Sdílení dat pomocí PostgreSQL 11

  4. Nastavit výchozí hodnotu celočíselného sloupce SQLite