私は非常に単純なクエリを持っています:
SELECT a, b, a+b as c FROM records
これはうまく機能します。彼は結果の例です:
Array ( [a] => 100.92 [b] => 21.00 [c] => 121.92 )
しかし、年ごとにレコードをフィルタリングしようとすると、次のようになります。
SELECT a, b, a+b as c FROM records
WHERE YEAR(`mydate`) = '2011'
a+b の計算が消えます。
Array ( [a] => 100.92 [b] => 21.00 [c] => )
明らかな何かが欠けていますか?
アップデート:
私は実際の SQL を求められました。これは次のとおりです。
FROM トランザクションの合計としてクレジット、デビット、クレジット + デビットを選択 WHERE YEAR(
transaction_date
) = '2011'transaction_date はDATEフィールド タイプです。
また、貸方または借方フィールドは常にゼロです。
PHP コード:
コード
include($_SERVER["DOCUMENT_ROOT"] . "/pool/_/db.php");
$sql = "SELECT credit, debit, credit+debit as total FROM transactions
WHERE YEAR(`transaction_date`) = 2011";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
print_r($row);
}