alexa-tracking

Ask rumus SQL

Main Content

1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/53bb62cbd675d487138b45c5/ask-rumus-sql
Ask rumus SQL
salam brother

saya ada mau tanya tentang sql

table1 : member_id dan visitor

table 2: member_id dan datetransaksi

kondisinya:
jika ada data yang masuk di table 2, maka jumlah visitor dalam table1 akan bertambah 1.

misal di table 2 ada transaksi
member_id datetransaksi
02100000 070714
02100000 070714
02100000 080714


jadi pada table 1 jumlah visitor nya ada 2

mohon dibantu pencetrahannya

thanks
ya tinggal bikin insert trigger di table2.

dgn asumsi ada master table member terpisah (bukan table1 master table untuk member) maka :
- jika memberid yg diinsert sudah ada di table1, increment visitornya
- jika belum ada, insert ke table1 dgn visitor=1

mau dihandle dari sisi aplikasi juga sama aja logicnya
Quote:Original Posted By onionkid
ya tinggal bikin insert trigger di table2.

dgn asumsi ada master table member terpisah (bukan table1 master table untuk member) maka :
- jika memberid yg diinsert sudah ada di table1, increment visitornya
- jika belum ada, insert ke table1 dgn visitor=1

mau dihandle dari sisi aplikasi juga sama aja logicnya




yang saya buat seperti ini


CREATE TRIGGER visit after INSERT ON TB_SALETRX
FOR EACH ROW BEGIN
UPDATE TB_CRM
SET visit = visit + 1
WHERE
MEMBER_ID = NEW.MEMBER_ID and ;
END$$



misal yang di
memberid trxdate
02100000 070714
02100000 070714

na yang saya bingung di date nya. bagaimana di datenya supaya bisa terhitung 1 x bukan 2 x.

soory brother, masih belajar.

thanks

Quote:Original Posted By will83




yang saya buat seperti ini


CREATE TRIGGER visit after INSERT ON TB_SALETRX
FOR EACH ROW BEGIN
UPDATE TB_CRM
SET visit = visit + 1
WHERE
MEMBER_ID = NEW.MEMBER_ID and ;
END$$



misal yang di
memberid trxdate
02100000 070714
02100000 070714

na yang saya bingung di date nya. bagaimana di datenya supaya bisa terhitung 1 x bukan 2 x.

soory brother, masih belajar.

thanks



eh, gimana maksudnya?
bukannya bener jika ada 2 record dgn memberid 02100000 di TB_SALETRX (walau tanggalnya sama) maka nilai visit di tabel TB_CRM bakal jadi 2?

atau pengennya di TB_SALETRX itu ga boleh ada record dgn memberid dan tanggal yang sama gitu?
kalau iya ya jadiin aja dua kolom itu sebagai primary key, beres emoticon-Big Grin
Quote:Original Posted By onionkid


eh, gimana maksudnya?
bukannya bener jika ada 2 record dgn memberid 02100000 di TB_SALETRX (walau tanggalnya sama) maka nilai visit di tabel TB_CRM bakal jadi 2?

atau pengennya di TB_SALETRX itu ga boleh ada record dgn memberid dan tanggal yang sama gitu?
kalau iya ya jadiin aja dua kolom itu sebagai primary key, beres emoticon-Big Grin



pingin nya jika ada 2 record atau lebih dgn memberid 02100000 di TB_SALETRX (walau tanggalnya sama) maka nilai visit di tabel TB_CRM bakal jadi 1 bukan 2
Quote:Original Posted By will83



pingin nya jika ada 2 record atau lebih dgn memberid 02100000 di TB_SALETRX (walau tanggalnya sama) maka nilai visit di tabel TB_CRM bakal jadi 1 bukan 2


jadi nilai visit di tabel TB_CRM itu pasti 1 ya karena jika ada memberid tersebut di TB_SALETRX biarpun 1,2, atau 100 sekalipun nilai visitnya bakal tetep 1?

ya nggak usah diincrement brarti haha, jadiin aja

UPDATE TB_CRM
SET visit = 1
WHERE
MEMBER_ID = NEW.MEMBER_ID

bener gitu nggak sih yg dimau? asli nggak ngerti kolom visit ini gunanya apaan
Quote:Original Posted By onionkid


jadi nilai visit di tabel TB_CRM itu pasti 1 ya karena jika ada memberid tersebut di TB_SALETRX biarpun 1,2, atau 100 sekalipun nilai visitnya bakal tetep 1?

ya nggak usah diincrement brarti haha, jadiin aja

UPDATE TB_CRM
SET visit = 1
WHERE
MEMBER_ID = NEW.MEMBER_ID

bener gitu nggak sih yg dimau? asli nggak ngerti kolom visit ini gunanya apaan


Visit guna nya untuk menghitung jumlah berpa kali dia transaksi .

DATA AWAL
di tb _crm
member_id=021000000
visit=10

tb_saletrx
jika ada transaksi disitu dihari tanggal yang sama misal
member_id trxdate
021000000 07/07/14
021000000 07/07/14
021000000 07/07/14

na di situ jumlah visit di tb_crm akan menjadi 11 bukan 13

terus di hari berikutnya katakan dia bertransaksi :
member_id trxdate
021000000 08/07/14
021000000 08/07/14
021000000 09/07/14
021000000 10/07/14

jumlah visit di tb crm akan menjadi 14 dari yang semula terakhir update 11.

sorry gan kl udah bikin suhu bingung emoticon-Smilie
Quote:Original Posted By will83


Visit guna nya untuk menghitung jumlah berpa kali dia transaksi .

DATA AWAL
di tb _crm
member_id=021000000
visit=10

tb_saletrx
jika ada transaksi disitu dihari tanggal yang sama misal
member_id trxdate
021000000 07/07/14
021000000 07/07/14
021000000 07/07/14

na di situ jumlah visit di tb_crm akan menjadi 11 bukan 13

terus di hari berikutnya katakan dia bertransaksi :
member_id trxdate
021000000 08/07/14
021000000 08/07/14
021000000 09/07/14
021000000 10/07/14

jumlah visit di tb crm akan menjadi 14 dari yang semula terakhir update 11.

sorry gan kl udah bikin suhu bingung emoticon-Smilie


ooo, ya brarti SEBELUM insert, cek dulu apakah ada record dengan idmember dan tanggal segitu apa nggak. jika belum ada maka increment visitnya, jika sudah ada nggak usah diincrement emoticon-Smilie
Quote:Original Posted By onionkid


ooo, ya brarti SEBELUM insert, cek dulu apakah ada record dengan idmember dan tanggal segitu apa nggak. jika belum ada maka increment visitnya, jika sudah ada nggak usah diincrement emoticon-Smilie


jika sudah ada dan kl tdak di increment, gimana visit nya bisa nambah ya gan ?

Quote:Original Posted By will83


jika sudah ada dan kl tdak di increment, gimana visit nya bisa nambah ya gan ?



ya kan emang pengennya nggak nambah.

misal
DATA AWAL
di tb _crm
member_id=021000000
visit=1

dan
member_id trxdate
021000000 07/07/14

ketika dia insert 021000000 08/07/15 dicek belum ada 021000000 di tanggal
08/07/15, maka visit diincrement jadi 2

lalu insert lagi
021000000 08/07/15, dicek sudah ada member id 021000000 untuk tanggal 08/07/15 maka tidak diincrement. nilai visit tetep 2

bukankah begitu yang dimau TS?
Quote:Original Posted By onionkid


ya kan emang pengennya nggak nambah.

misal
DATA AWAL
di tb _crm
member_id=021000000
visit=1

dan
member_id trxdate
021000000 07/07/14

ketika dia insert 021000000 08/07/15 dicek belum ada 021000000 di tanggal
08/07/15, maka visit diincrement jadi 2

lalu insert lagi
021000000 08/07/15, dicek sudah ada member id 021000000 untuk tanggal 08/07/15 maka tidak diincrement. nilai visit tetep 2

bukankah begitu yang dimau TS?


ya betul gan, itu yang aku mau heheheh.....


tapi bisa minta petunjuk untuk increment nya gan , maksudnya saya harus set increment nya dimana ?

kalau yang saya tangkap, increment nya di visit ? check auto increment

apa bener begitu ?

Quote:Original Posted By will83
salam brother

saya ada mau tanya tentang sql

table1 : member_id dan visitor

table 2: member_id dan datetransaksi

kondisinya:
jika ada data yang masuk di table 2, maka jumlah visitor dalam table1 akan bertambah 1.

misal di table 2 ada transaksi
member_id datetransaksi
02100000 070714
02100000 070714
02100000 080714


jadi pada table 1 jumlah visitor nya ada 2

mohon dibantu pencetrahannya

thanks


jadi simpel nya harus dipisahkan gan antara 02100000 dengan 070714 dalam database nya kalau udah pisah baru bisa terdeteksi kalau count nya ada 2
Quote:Original Posted By will83


ya betul gan, itu yang aku mau heheheh.....


tapi bisa minta petunjuk untuk increment nya gan , maksudnya saya harus set increment nya dimana ?

kalau yang saya tangkap, increment nya di visit ? check auto increment

apa bener begitu ?



hmmm masih belum ngerti ya? langsung gini aja deh

update TB_CRM set visit=(select count(*) from (select distinct kode from TB_SALETRX where TB_SALETRX.member_id=TB_CRM.membe_rid) foo)
×