-2

2つのテーブルからお金(価格)の合計を指定するのに問題があります。SUMの結果が間違っているという結果の問題。
私の質問:

SELECT SUM(up2.price + uf1.price) AS TotalCredit
FROM user_faktorha AS uf1, u_payment AS up2
WHERE uf1.`acc_id` = '11784' && up2.`Account`='11784' && up2.`Active`='1'

テーブルuser_faktorhaPriceには、正の数と負の数の両方があります。
テーブルu_payment列正Priceの数だけです。

何が問題なのですか?

4

2 に答える 2

0

これを試して

      SELECT  (up2.price + uf1.price) AS TotalCredit
      FROM user_faktorha AS uf1, u_payment AS up2
      WHERE uf1.`acc_id` = '11784' && up2.`Account`='11784' && up2.`Active`='1'

あなたはそれらを追加するので、あなたは必要ありませんSUM

于 2012-12-23T19:10:09.407 に答える
0

構文を少し変更することをお勧めします。2 つの選択肢があります。

SELECT up2.price + uf1.price AS TotalCredit
FROM user_faktorha AS uf1
INNER JOIN u_payment AS up2
  on uf1.acc_id = up2. Account
WHERE uf1.`acc_id` = '11784' && up2.`Active`='1';

または

SELECT sum(up2.price + uf1.price) AS TotalCredit
FROM user_faktorha AS uf1
INNER JOIN u_payment AS up2
  on uf1.acc_id = up2. Account
WHERE uf1.`acc_id` = '11784' && up2.`Active`='1'
GROUP BY uf1.acc_id

INNER JOIN2 つのテーブル間で使用されている構文に注意してください。これらは で結合されていacc_idます。また、最初のバージョンでは集計関数を使用していませんprice。両方のテーブルに を追加するだけですが、2 番目のバージョンではsum()集計を使用してgroup by

于 2012-12-23T19:30:49.673 に答える