PostgreSQL、SQL:如何在现成函数中使用行值作为参数?

总的

是否可以将表中的行用作函数中的参数?例如,我有一个简单的函数,可以按金额和数量计算总销售额。

SELECT sales from public.my_function(v_amount, v_qty)

我有一个包含两列的表格:总和和数量

Amount  QTY
100     5
200     10
300     20
400     30
500     40

我想添加另一列,其中每行中的参数都会有一个函数结果。我尝试在函数中放置列,但它返回一个错误。在我看来,我的尝试真的是错误的:

SELECT Amount,
       QTY
       (select sales from public.my_function(select Amount from public.table, select QTY from public.table) as Sales
FROM public.table

结果需要为:

Amount  QTY   Sales
100     5     500
200     10    2000
300     20    6000
400     30    12000
500     40    20000

有没有办法正确地做到这一点?谢谢

戈登·利诺夫

lateral join如果函数返回一个表,你想使用 a

SELECT Amount, QTY, x.Sales
FROM public.table t cross join lateral
     public.my_function(t.amount, t.qty) x;

如果它只是返回一个标量,那么你不需要做任何特别的事情:

SELECT t.Amount, t.QTY,
       public.my_function(t.amount, t.qty) as Sales
FROM public.table t;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在其他函数中使用 RETURNING id 中的值作为参数 - Postgresql

如何在函数中使用AngularJS值作为参数?

如何在postgresql中使用jsonb的键作为行值?

如何在函数中使用函数作为参数?

如何在PostgreSQL表中使用自定义函数作为列的默认值

如何在Python中使用函数对象和值作为参数来实现双阶乘

如何在C ++中使用函数的参数作为指针从DLL返回值?

如何在函数中使用 dir() 作为默认参数

如何在扩展方法中使用函数作为参数?

如何在 gmock 中使用参数作为返回值

如何在函数调用的参数中使用值?

如何在 sclang 中使用数组值作为函数参数(在通过 OSC 发送大量浮点数的情况下)

如何在Julia中使用数组和参数NTuple的联合作为函数参数类型?

我该如何在Typescript中使用其中一个参数作为参数的函数?

如何使用数组值作为函数参数

如何使用值作为目标函数的参数

如何使用函数及其值作为参数?

如何在函数调用中使用Typescript泛型类构造函数作为参数

如何在某些计算中使用 PostgreSQL 列值作为第二列值

如何在PostgreSQL中使用参数

如何在SQL中使用sum函数比较列值?

PostgreSQL-如何在函数中将参数作为表格发送?

在函数中使用输入的属性值作为变量的方法 PostgreSQL的

如何在Postgresql中使用Extract函数作为单个结果来获取小时和分钟

如何在 postgresql 中使用 age() 函数

Postgresql - 函数获取行作为参数 - 如何访问该行的列?

在函数中使用非静态值作为默认参数

在表值函数中使用选择查询作为参数

如何在手动创建的函数中使用变量名作为参数?