我有两张桌子和一张视图。一个表格为products
,另一个表格为suppliers
,视图为v_orders_customers
。
表products
包含以下列:
customers
表格包含以下列:
视图v_orders_customers
包含以下列:
我想要的查询是:
"为价值大于$ 8,000的订单选择以下信息(客户名称,订单号,订单日期,订单值)。
提示:订单的价值是订单数量上产品单位价值的乘积。使用v_orders_customers"。
我的问题是如何从表格和视图中获取列,并且也可以相乘以进行查询。
编辑:这是我的尝试但是没有完成,因为我不知道如何继续.. SELECT customers.first_name,v_orders_customers.order_id,v_orders_customers.order_date,(v_orders_customers.order_quantity * product_price)
FROM VIEW v_orders_customers,TABLE customers,TABLE products
WHERE (...);
答案 0 :(得分:0)
首先,不要使用隐式连接(在from
子句中有多个表) - 它们已经被弃用了很多年,被认为是一种不好的做法。相反,你应该明确加入。对于where
子句 - 您可以在其中使用表达式,就像在select
列表中一样:
SELECT c.first_name,
v.order_id,
v.order_date,
(v.order_quantity * p.product_price) AS total_price
FROM customers c
JOIN v_orders_customers v ON v.customer_id = c.customer_id
JOIN products p ON p.product_id = v.product_id
WHERE v.order_quantity * p.product_price > 8000