Mysql
 sql >> Baza danych >  >> RDS >> Mysql

łączenie dwóch wybranych stwierdzeń

Nie wiesz, co chcesz zrobić, ale masz dwie wybrane klauzule. Zamiast tego zrób to:

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

Aktualizacja:

Prawdopodobnie mógłbyś to zredukować do czegoś takiego:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskaj różnicę lat między dwiema datami w MySQL jako liczbę całkowitą

  2. Ponowne łączenie MySQL po przekroczeniu limitu czasu

  3. Czy lepiej użyć pustej wartości jako „” czy jako NULL?

  4. Wydrukuj informacje debugowania z procedury składowanej w MySQL

  5. Kolejność kolumn w indeksie wielokolumnowym w MySQL