【发布时间】:2014-03-16 07:34:59
【问题描述】:
自从我开始学习 pgsql 以来已经有一段时间了,我正在尝试处理我的第一个项目(只是为了测试自己)并且我一直在努力完成这项工作。
SELECT ((SELECT to_number(g.grade, '9D99') AS numgrade
FROM grade g, registration r
WHERE g.grade_id=r.grade_id
AND g.grade!='INC'
AND g.grade!='INP'
AND g.grade!='W'
AND g.grade!='DRP')*(SELECT s.subjunits
FROM subject s, registration r
WHERE s.subjcode=r.subjcode)) AS product
FROM subject s, registration r;
所以,我想要做的是乘以 grade 列(以防万一你没有注意到, grade 列是 character 这就是我放 @987654326 的原因@) 来自表 registration 和列 subjunits 来自表 subject。
我有点发现 Postgres 不允许多行相乘,或者它可能不允许返回多行。无论哪种方式,我仍然想知道是否有另一种方法可以获取我选择的行的乘积?
将每个主题都放在WHERE 子句中非常不方便。
【问题讨论】:
-
在以后的问题中,请始终显示任何错误消息的确切文本,以及您的 PostgreSQL 版本 (
select version()),以及可能的示例数据和表定义。您可能还想查看sqlfiddle.com -
@CraigRinger 哦,我明白了。我会。谢谢! :)
标签: sql postgresql subquery multiplication