3

已发布查询检索所有相关字段,但SUM(af_py_commission)导致问题的函数如 in 并且它只是在末尾添加一个额外的零,然后在右端添加一个额外的零。

例如,如果答案是 45,它将给出 450,并且该字段的数据格式是浮点数,否则此查询工作完美....

我在同一个字段上尝试了一个具有相同功能但没有连接的简单查询,因此它工作正常并给出正确的答案。谁能帮助我在这方面做错了什么>?

SELECT f.af_id AS af_if
   , aff_cust_tbl.af_id AS cu_af_id
   , aff_payment_tbl.af_cust_id AS pym_cus_id
   , SUM(af_py_commission)
FROM aff_tbl AS f
INNER JOIN aff_tbl ON f.af_id = 2
INNER JOIN aff_cust_tbl ON aff_cust_tbl.af_id = 2
INNER JOIN aff_payment_tbl ON aff_payment_tbl.af_id = 2;
4

2 回答 2

2

内连接有错误

尝试这个:

SELECT
f.af_id                    AS af_if,
aff_cust_tbl.af_id         AS cu_af_id,
aff_payment_tbl.af_cust_id AS pym_cus_id,
SUM(af_py_commission)
FROM aff_tbl AS f
INNER JOIN aff_tbl as f2
ON f.af_id = 2 AND f2.af_id=2
INNER JOIN aff_cust_tbl
ON aff_cust_tbl.af_id = 2
INNER JOIN aff_payment_tbl
ON aff_payment_tbl.af_id = 2;

编辑的行是

 INNER JOIN aff_tbl as f2
 ON f.af_id = 2 AND f2.af_id=2

尝试这个:

SELECT f.af_id                    AS af_if, 
       aff_cust_tbl.af_id         AS cu_af_id, 
       aff_payment_tbl.af_cust_id AS pym_cus_id, 
       Sum(af_py_commission) 
FROM   aff_tbl AS f 
       INNER JOIN aff_cust_tbl 
               ON f.af_id = aff_cust_tbl.af_id 
       INNER JOIN aff_payment_tbl 
               ON aff_payment_tbl.af_id = aff_cust_tbl.af_id 
WHERE  f.af_id = 2; 

如果它没有给出正确的结果,请尝试在此处不进行总和和后分析...

于 2012-10-14T16:21:30.773 回答
0

GROUP BY如果使用聚合函数,您可能会错过所需的子句。尝试这个:

SELECT
f.af_id                    AS af_if,
aff_cust_tbl.af_id         AS cu_af_id,
aff_payment_tbl.af_cust_id AS pym_cus_id,
SUM(af_py_commission)
FROM aff_tbl AS f
INNER JOIN aff_tbl
ON f.af_id = 2
INNER JOIN aff_cust_tbl
ON aff_cust_tbl.af_id = 2
INNER JOIN aff_payment_tbl
ON aff_payment_tbl.af_id = 2;
GROUP BY f.af_id
于 2012-10-14T16:21:15.183 回答