Programlama

Web Programlama

Veritabanı

MySQL'de bir tablodaki hesaplanan alanların (calculated fields) toplamını almak

Bilindiği üzere, hesaplanan alanlar (calculated fields) bir tabloda yer almazlar, sadece diğer alanlar üzerinde işlem yapılarak elde edilirler. MySQL'de bir tablodaki hesaplanan alanların (calculated fields) toplamını almak için SUM() komutunu aşağıdaki şekilde kullanabilirsiniz:

SELECT SUM(miktar) as toplam, (taksit1 + taksit2 + taksit3) as odenen, SUM(taksit1 + taksit2 + taksit3) FROM fatura

Aynı işlemi C programlama dilinde gerçekleştirmek için, fatura tablosunda yer alan taksit sütun değerlerinin (taksit1, taksit2, taksit3) toplamını almak için aşağıdaki saıtrları kullanabilirsiniz:

MYSQL *conn;
char qdizi[1000];
  
conn = mysql_init(NULL);

if (conn == NULL) {
    MessageBox(NULL, mysql_error(conn), "Veritabanı hatası", MB_OK | MB_ICONWARNING);
    return 0;
}

if (mysql_real_connect(conn, "localhost", "root", "password", "veritabani_adi", 3306, NULL, 0) == NULL) {
    MessageBox(NULL, mysql_error(conn), "Veritabanı hatası", MB_OK | MB_ICONWARNING);
    mysql_close(conn);
    return 0;
}  
  
sprintf(qdizi, "SELECT SUM(miktar) as toplam, (taksit1 + taksit2 + taksit3) as odenen, SUM(taksit1 + taksit2 + taksit3) FROM fatura");


if (mysql_query(conn, qdizi)) {
    MessageBox(NULL, mysql_error(conn), "Veritabanı hatası", MB_OK | MB_ICONWARNING);
    mysql_close(conn);
    return 0;
}

result = mysql_store_result(conn);

row = mysql_fetch_row(result);

/* row[0] : fatura tablosu miktar sütun toplamı */

/* row[2] : fatura tablosu ödenen toplam taksit miktarı */