Arsip: Bewara SQL for maniak

 
user image
more 15 years ago

_lmz

@reminder2k1: Coba spt ini bro: ...query menggunakan POWER() dipotong...
Trik bagus dengan menggunakan POWER() :). Keunggulannya adalah bahwa dengan POWER, hasil pada kolom choice tidak bergantung pada urutan baris-baris masuk ke GROUP_CONCAT. Hal ini tidak masalah di MySQL karena di dalam GROUP_CONCAT dapat diberi ORDER BY, tapi di Postgres saya tidak tahu caranya mengatur seperti itu :(.
user image
more 15 years ago

ImanD

@reminder_2k1 uggghh hebat bro 99% mendekati sempurna cuman ada sedikit masalah yaitu 1. klo item pada suatu ID_product ga ada yg pilih(N semua) maka ga di tampilin. (Notes) ini yg di hasilkan dari SQL-nya.

ID_product qty choice
========== === ======
CD0001      3     111
CD0002      1       1
CD0003      5   10101
CD0004      2       1
CD0005      7       0
CD0006      4       0
2. coba perhatikan hasil choice dari CD0002 dan CD0004 adalah nilainya sama yaitu 1 padahal hasil yg diinginkan u/ CD0004 adalah 01, disini 0 sangat beperan penting lho. @_lmz that right bro cuman pas aku jalanin di MySQL error trus ceritanya kan ga pke SP, function dsb @cyber_hecker mana jawabannya aku tunggu-tunggu lho.... xixiixixi @All terima kasih banget atas semua jawabannya! btw mungkinkan ada yg lebih sempurna?
user image
more 15 years ago

reminder2k1

Xixixixixixi... Waktu kemaren aku ambil datanya cuma dikit aja... Sory... Mgkn ini bisa membantu bro... :mrgreen:
SELECT L2.ID_product, COUNT(L2.item) as qty,
LPAD(SUM(L2.Nilai),COUNT(L2.item),'0') AS choice
FROM (SELECT L1.ID_product, L1.item, L1.choice,
CASE L1.choice
WHEN 1 THEN POWER(10,L1.NilaiMax-L1.item)
ELSE 0 END AS Nilai
FROM (SELECT L.ID_product, L.item, L.choice,
(SELECT MAX(item)
FROM tproductitemstoct
WHERE tproductitemstoct.ID_product = L.ID_product) AS NilaiMax
FROM (SELECT ID_product, item,
CASE choice
WHEN 'Y' THEN 1
ELSE 0 END AS choice
FROM tproductitemstoct) AS L
GROUP BY ID_product, item) AS L1) AS L2
GROUP BY L2.ID_product
HAVING SUM(L2.Nilai)>0
peace... :mrgreen:
user image
more 15 years ago

ImanD

@reminder2k1 weleh-weleh-weleh bentul sekali bro...... sip bro.... u/ sekarang gwe pegang lo u/ SQL..... @All tar ada yg lebih menggigit&lebih mantap u/ dipecahkan lg dech......
user image
more 15 years ago

_lmz

yang pake mysql bisa dengan group_concat (tidak dites, sekarang lagi gak ada mysql). SELECT id_product, COUNT(*) AS qty, GROUP_CONCAT(CASE choice WHEN 'Y' THEN 1 ELSE 0 END ORDER BY item) AS choice FROM tproductitemstoct GROUP BY id_product HAVING SUM(CASE choice WHEN 'Y' THEN 1 ELSE 0 END) > 0
more ...
  • Pages:
  • 1
  • 2
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com