繁体   English   中英

我可以在左外连接与普通表中使用SQL视图吗?

[英]Can I use SQL view in left outer join with ordinary table?

这是我的看法

CREATE OR REPLACE VIEW w AS SELECT
orp1.order_product_id,
orp1.order_id,
pov1.weight,
sum(orp1.quantity) AS 'quantity'
FROM
`order_product` orp1,
`order_option` oro1,
`product_option_value` pov1
WHERE
pov1.option_id = 6 AND oro1.product_option_value_id = pov1.product_option_value_id AND orp1.order_product_id = oro1.order_product_id
GROUP BY
orp1.order_product_id,
orp1.order_id,
pov1.weight;

这是查询部分

FROM 
    `order_product` orp6,
    `product` p,
    `product_description` pd,
    `product_to_category` p2c
LEFT OUTER JOIN w ON orp6.order_id = w.order_id AND orp6.order_product_id = w.order_product_id

但是显示的错误是:

orp6.order_id 是未知列

请勿FROM子句中使用逗号。 始终使用正确,明确, 标准的 JOIN语法。 在这

CREATE OR REPLACE VIEW w AS
    SELECT orp1.order_product_id, orp1.order_id, pov1.weight,
            sum(orp1.quantity) AS 'quantity'
    FROM `order_product` orp1 JOIN
         `order_option` oro1
         ON orp1.order_product_id = oro1.order_product_id JOIN
         `product_option_value` pov1
         ON oro1.product_option_value_id = pov1.product_option_value_id
    WHERE pov1.option_id = 6 
    GROUP BY orp1.order_product_id, orp1.order_id, pov1.weight;

然后,可以在FROM子句中添加其他JOIN ,例如要添加的JOIN

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM