是否可以使用别名避免在此查询中重复嵌套的select
语句?
select distinct
ingot_sales.date_time as date,
ingot_sales.name as buyer,
ingot_sales.metal as metal,
(select price from ingot_list where ingot_sales.metal = ingot_list.metal) as unit_price,
ingot_sales.quantity as quantity,
(select price from ingot_list where ingot_sales.metal = ingot_list.metal) * quantity as total_price,
ingot_sales.paid as paid
from ingot_sales, ingot_list;
我尝试使用unit_price
代替第二个嵌套的select
,但是不断得到重复的行,每个行的计算值不同。
答案 0 :(得分:0)
您可以加入表格,因此不需要相关的子查询:
select distinct
s.date_time as date,
s.name as buyer,
s.metal as metal,
l.price as unit_price,
s.quantity as quantity,
l.price * s.quantity as total_price,
s.paid as paid
from ingot_sales s left join ingot_list l
on s.metal = l.metal