Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Menjumlahkan dengan kondisi

misal ada
table a dengan field :
total_a_not_ok
total_a_ok
total_b_not_ok
total_b_ok

table b dengan field :
status

Kemudian ada rumus
jika status =1 maka
total = total_a_ok+total_b_ok;

jika status = 0 makaa
total = total_a_not_ok+total_b_not_ok;

trus yang ditanyakan :
gimana yaa query diatas dengan satu kali query sql ??

:)

Tanggapan

  • Lah join field antara table a dan table b apa?
  • ada ko om...
    misalnya id untuk tiap2 table itu..
  • select
    if(
    status=1,(total_a_ok+total_b_ok),
    (total_a_not_ok+total_b_not_ok)
    ) as total
    from table_a a,table_b b where a.id=b.id
  • Errornya apa?
  • top om goku , udah bisa
    kesalahannya cuma aku kurang tambahin tanda kurung buka setelah IF
    btw matur tengkyu

    :D:D:D
  • ko error tuh om :(
  • mysql> SELECT IF a.status_valid='1',(b.fix_selling+b.fix_buying),
    (b.not_fix_selling+b.not_fix_buying))as total FROM t_date_approval a,t_revenue b WHERE a.ponumber=b.ponumber;

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
    MySQL server version for the right syntax to use near 'a.status_valid='1',(b.fix_selling-b.fix_buyin
    g),(b.not_fix_selling-b.not_fix_buy' at line 1
  • Nih kok bisa

    select
    if(
    status=1,(a_ok+b_ok),
    (a_not_ok+b_not_ok)
    ) as total
    from tabel_a a,table_b b where a.id=b.id

    allfk5.jpg
  • tanggung om goku
    trus kalo kita pingin munculkan hasil total dari itu semua, kira fungis SUM di letakkan dimana yaa ??
  • select
    sum(
    if(
    status=1,(a_ok+b_ok),
    (a_not_ok+b_not_ok)
    )
    )
    as total_semua
    from tabel_a a,table_b b where a.id=b.id
Sign In or Register to comment.