Mysql
 sql >> база данни >  >> RDS >> Mysql

съединяване на две избрани изрази

Не сте сигурни какво се опитвате да направите, но имате две избрани клаузи. Вместо това направете това:

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

Актуализация:

Вероятно бихте могли да го намалите до нещо подобно:

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. ГРЕШКА 1044 (42000):Отказан достъп за потребител ''@'localhost' до база данни 'db'

  2. Синтактична грешка на Sql при използване на заявка за база данни UPDATE

  3. Разбиране на новата гореща вълна на MySQL

  4. Експортиране на MySQL в изходящ файл:CSV екраниращи знаци

  5. Деактивирайте ONLY_FULL_GROUP_BY