Profil detayı eklendi, herkes profillerine girip bir gözatsın! Sevdiğiniz üyelerin cevaplarını takip edin! Tüm güncellemeler

Mysql'de sorugu içi karşılaştırma

$startDate = post('startDate') ?? lastMonth();
$endDate = post('endDate') ?? date('Y-m-d');
$chequeStatus = post('chequeStatus') ?? 'unpaid';
$sql = "SELECT * FROM process_cheque";
$sql .= " INNER JOIN system_users ON process_cheque.pc_debit_id = system_users.user_id";
$sql .= " WHERE process_cheque.app_id= '".session('app_id')."'";
if (post('debitType'))
    $sql .= " && system_users.user_type ='".post('debitType')."'";

if (post('pcType'))
    $sql .= " && process_cheque.pc_type ='".post('pcType')."'";

if (post('minMeblag'))
    $sql .= " && process_cheque.pc_money >='".parseMoney(post('minMeblag'))."'";

if (post('maxMeblag'))
    $sql .= " && process_cheque.pc_money <='".parseMoney(post('maxMeblag'))."'";

if (post('startDate'))
    $sql .= " && process_cheque.pc_period_date >='".$startDate."'";

if (post('endDate'))
    $sql .= " && process_cheque.pc_period_date <='".$endDate."'";

if (post('chequeStatus'))
    $sql .= " && process_cheque.pc_status ='".post('chequeStatus')."'";

if (post('bank'))
    $sql .= " && process_cheque.pc_bank ='".post('bank')."'";

if ($chequeStatus == 'paid'){
    $sql .= " && process_cheque.pc_paid == process_cheque.pc_money";
}
if ($chequeStatus == 'partpaid'){
    $sql .= " && process_cheque.pc_paid <='".parseMoney(post('maxMeblag'))."'";
}
if ($chequeStatus == 'unpaid'){
    $sql .= " && process_cheque.pc_paid <='".parseMoney(post('maxMeblag'))."'";
}


Şimdi arkadaşlar böyle bir sorgum var alttan 3. satırda gördüğünüz üzere

if ($chequeStatus == 'paid'){
    $sql .= " && process_cheque.pc_paid == process_cheque.pc_money";
}

2 column değerini karşılaştırıyorum tabloda ki para değeri ile ödenen değer eşitse demek istiyorum ama buna izin vermiyor Mysql bunu yolu yordamı nedir?

2

Cevaplar (2)

İşlem devam ediyor, lütfen bekleyin..
Melih YARIKKAYA
Doğru Cevap
@melihyarikkaya
7 ay önce [Güncellendi]
Sanırım  "=="  tam eşit operatöründen kaynaklanıyor. 
Bunu dene  process_cheque.pc_paid = process_cheque.pc_money

Sql dilinde hiç "==" kullanıldığını görmedim


Cevapla @codizm7 ay önce
Valla bende görmedim Melih haklısınız galiba :D
İşlem devam ediyor, lütfen bekleyin..
Abdulbaki Zırıh
@abdulbaki
7 ay önce

Şu şekilde dene

$sql .= " and process_cheque.pc_paid = process_cheque.pc_money";
İşlem devam ediyor, lütfen bekleyin..

Cevap yaz Sadece sorunun cevabını yazın