我有一个表名conversion
,我有下面提到的这些列,我希望将'dimension'值的长度\宽度行元素l * w相乘,并将它们显示在另一个新表中
如果ms访问中的相同逻辑发生任何变化,请告诉我
可能它很简单,但我不知道确切的查询来解决等待你的解决方案的问题
ID area length/width dimensions **new column(L*W) here**
1 1 l 3 3*5=15
2 1 w 5
3 2 l 4
4 2 w 8
5 3 l 6
6 3 w 10
7 4 l 12
8 4 w 13
9 4 W 10
等待你的回复
答案 0 :(得分:0)
试试这个
select *,
dimensions*(lead(dimensions) over(order by id)) product
from table1;
或者,如果你想要一组区域,那么
select *,
case when length_width='l' and (lead(length_width) over(order by id))='w'
then dimensions*(lead(dimensions) over(order by id))
else 0
end as product
from table1;
答案 1 :(得分:0)
你可以查询表两次:一次是长度,一次是宽度,然后按区域连接并乘以值:
select length.area, length.dimension * width.dimension
from
(select area, dimension from conversion where lenwidth = 'l') length
inner join
(select area, dimension from conversion where lenwidth = 'w') width
on length.area = width.area;
两个评论: