mysql多个select_mysql – 加入两个select语句

谁能告诉我为什么以下不起作用?它抱怨两个选择之间的连接关键字附近有语法错误.

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 ( 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从一个表中提取某个产品的所有订单信息,并从另一个表中提取订购数量并将它们连接在一起.第二个SELECT对另一个产品做同样的事情.

我现在有

_______A_________ _______B_________

O_ID P_ID Q O_ID P_ID Q

1 180 3 1 181 11

2 180 9 2 181 6

3 180 5 3 181 3

而且,使用另一个我希望得到的联接

Q_ID P_ID1 Q1 P_ID2 Q2

1 180 3 181 11

2 180 9 181 6

3 180 5 181 3

也许我在这里采取了错误的做法.有什么建议么?

更新:

在RedFilter的指针之后,这对我有用:

(SELECT *

FROM (

SELECT * FROM orders_products

INNER JOIN orders ON orders_products.orders_id = orders.orders_id

WHERE products_id =181) AS A

LEFT 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

)

UNION (

SELECT *

FROM (

SELECT *

FROM orders_products

INNER JOIN orders ON orders_products.orders_id = orders.orders_id

WHERE products_id =181

) AS C

RIGHT JOIN (

SELECT *

FROM orders_products

INNER JOIN orders ON orders_products.orders_id = orders.orders_id

WHERE products_id =180

) AS D ON C.orders_id = D.orders_id

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值