banjalukaforum.com

Dobrodošli na banjalukaforum.com
Danas je 28 Mar 2024, 13:20

Sva vremena su u UTC [ DST ]




Započni novu temu Odgovori na temu  [ 72 Posta ]  Idi na stranicu 1, 2, 3, 4  Sledeća
Autoru Poruka
 Tema posta: Razni vidovi pomoci
PostPoslato: 21 Dec 2014, 14:26 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 06 Apr 2003, 12:32
Postovi: 5306
Lokacija: HEAVEN
Imam jedno strucno pitanjce...

Pokusavam odraditi select u oracle bazi koji ce uzeti sve unikatne redove... To mi radi perfektno... Medjutim, kada trebam da odradim sume, tu mi vrati one izbrisane duple redove...

Naime, logika je sljedeca... u jednoj tabeli ima 60k redova, od kojih je 10k duplih.... Ti dupli se razlikuju prema koloni ISPRAVKA, u kojoj postoji J i N... I postoji kolona IZNOS..

E sad, kada ja radim select, u zavisnosti od J i N, ja trebam da stavim da IZNOS bude u koloni NESTO i NESTO2 u zavisnosti od J i N iz polja ISPRAVKA... tj nesto u fazonu

case when ISPRAVKA = 'J' then IZNOS else 0 end NESTO
case when ISPRAVKa = 'N' then IZNOS else 0 end NESTO2

u principu, cim ovo odradim, vrati se tih 10k redova, ali iznosi budu upisani dobro (tj ne ponavljaju se duplo).

kod je u principu ovako nesto:

Kod:
select distinct tabela.id
case when tabela2.ispravka = 'J' then tabela2.iznos else 0 end nesto,
case when tabela2.ispravka = 'N' then tabela2.iznos else 0 end nesto2
from tabela,
       tabela2
where tabela.id = tabela2.id


Pokusao sam i sa sum(decode), i dodao group by na kraju, ali ni to nije pomoglo...

_________________
Slika


Vrh
 Profil  
 
PostPoslato: 22 Dec 2014, 14:52 
OffLine
Veteran
Veteran

Pridružio se: 01 Jul 2004, 11:47
Postovi: 2597
Jebe lud zbunjenog :D
Nisam siguran da sam shvatio sta zelis i sta ti treba, ali pokusacu sa citanjem tvojih misli:

Kod:
select distinct tabela.id,
sum(case when tabela2.ispravka = 'J' then tabela2.iznos else 0 end) over(partition by tabela.id) nesto,
sum(case when tabela2.ispravka = 'N' then tabela2.iznos else 0 end) over(partition by tabela.id) nesto2
from tabela,
       tabela2
where tabela.id = tabela2.id;


Hint: Analytic functions -> SUM() OVER()

_________________
Sve sto sam napisao, slucajno je namjerno ...


Vrh
 Profil  
 
PostPoslato: 22 Dec 2014, 18:53 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 06 Apr 2003, 12:32
Postovi: 5306
Lokacija: HEAVEN
Hm... ovo nisam pokusao, a izgleda mi ok... Dobro citas misli :)

Tj, radio sam distinct, sum, ali nisam dodavao over partition by... Ovo bih definitivno mogao pokusati, i ima mi smisla...

U principu, za sve IDeve koji imaju J u navedenoj koloni, njihove iznose treba sabrati u jednu kolonu... Isto tako za N... Tj

Kod:

ID    IZNOS     ISPRAVKA
1      100             N
2      50              N
2      120             J
3      130             N
4      130             N
4      100             J
5      110             N
5      150             J

Rezultat

ID    NESTO    NESTO2
1       100          0
2       50         100
3       130          0
4       130        100
5       110        150


Ali mislim da se to postize ovim tvojim, bar mi izgleda tako... U principu i ne mora SUM OVER s obzirom da jedan ID moze imati max 2 reda, jedan za J, jedan za N... Ali ne znam koju drugu opciju iskoristiti... Pokusao sam i sa dva selecta... jedan koji ce uzeti samo J, drugi koji ce uzeti samo N, a onda u osnovnom selectu staviti da u jednu kolonu uzima podatke iz prvog a u drugoj iz drugog selecta... Ali mi je izbacivalo invalid identifier u where klauzuli... Sad cu odraditi create tabele iz primjera, i pokusati ovo tvoje :)

_________________
Slika


Vrh
 Profil  
 
PostPoslato: 22 Dec 2014, 21:22 
OffLine
Veteran
Veteran

Pridružio se: 01 Jul 2004, 11:47
Postovi: 2597
Kod:
drop table tabela purge;

drop table tabela2 purge;

create table tabela(id number);

create table tabela2(id number, iznos number, ispravka varchar2(1));

insert into tabela
select level
from dual
connect by level <=5;

insert into tabela2
values(1, 100, 'N');

insert into tabela2
values(2, 50, 'N');

insert into tabela2
values(2, 120, 'J');

insert into tabela2
values(3, 130, 'N');

insert into tabela2
values(4, 130, 'N');

insert into tabela2
values(4, 100, 'J');

insert into tabela2
values(5, 110, 'N');

insert into tabela2
values(5, 150, 'J');

commit;

set autotrace on trace explain statistics
set linesize 180 pages 1000


select distinct tabela.id,
sum(case when tabela2.ispravka = 'J' then tabela2.iznos else 0 end) over(partition by tabela.id) as ispravka_J,
sum(case when tabela2.ispravka = 'N' then tabela2.iznos else 0 end) over(partition by tabela.id) as ispravka_N
from tabela,  tabela2
where tabela.id = tabela2.id
order by tabela.id;

        ID ISPRAVKA_J ISPRAVKA_N
---------- ---------- ----------
         1          0        100
         2        120         50
         3          0        130
         4        100        130
         5        150        110

Execution plan
----------------------------------------------------------
Plan hash value: 3084317323

--------------------------------------------------------------------------------
| Id  | Operation            | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------
|   0 | SELECT STATEMENT     |         |     8 |   328 |     6  (34)| 00:00:01 |
|   1 |  SORT UNIQUE         |         |     8 |   328 |     5  (20)| 00:00:01 |
|   2 |   WINDOW SORT        |         |     8 |   328 |     6  (34)| 00:00:01 |
|*  3 |    HASH JOIN         |         |     8 |   328 |     5  (20)| 00:00:01 |
|   4 |     TABLE ACCESS FULL| TABELA  |     5 |    65 |     2   (0)| 00:00:01 |
|   5 |     TABLE ACCESS FULL| TABELA2 |     8 |   224 |     2   (0)| 00:00:01 |
--------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   3 - access("TABELA"."ID"="TABELA2"."ID")

Note
-----
   - dynamic sampling used for this statement (level=2)


Statistiken
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          6  consistent gets
          0  physical reads
          0  redo size
        778  bytes sent via SQL*Net to client
        524  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          2  sorts (memory)
          0  sorts (disk)
          5  rows processed




-- varijanta broj 2.:

select id,
       max(case ispravka when 'J' then suma else 0 end) as ispravka_J,
       max(case ispravka when 'N' then suma else 0 end) as ispravka_N
from (
select tabela.id,
tabela2.ispravka,
sum(iznos) as suma
from tabela, tabela2
where tabela.id = tabela2.id
group by tabela.id, tabela2.ispravka)
group by id
order by id;

        ID ISPRAVKA_J ISPRAVKA_N
---------- ---------- ----------
         1          0        100
         2        120         50
         3          0        130
         4        100        130
         5        150        110


Execution plan
----------------------------------------------------------
Plan hash value: 1767293396

---------------------------------------------------------------------------------
| Id  | Operation             | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------------
|   0 | SELECT STATEMENT      |         |     5 |   140 |     6  (34)| 00:00:01 |
|   1 |  SORT GROUP BY        |         |     5 |   140 |     6  (34)| 00:00:01 |
|   2 |   VIEW                |         |     8 |   224 |     6  (34)| 00:00:01 |
|   3 |    HASH GROUP BY      |         |     8 |   328 |     6  (34)| 00:00:01 |
|*  4 |     HASH JOIN         |         |     8 |   328 |     5  (20)| 00:00:01 |
|   5 |      TABLE ACCESS FULL| TABELA  |     5 |    65 |     2   (0)| 00:00:01 |
|   6 |      TABLE ACCESS FULL| TABELA2 |     8 |   224 |     2   (0)| 00:00:01 |
---------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   4 - access("TABELA"."ID"="TABELA2"."ID")

Note
-----
   - dynamic sampling used for this statement (level=2)


Statistiken
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          6  consistent gets
          0  physical reads
          0  redo size
        778  bytes sent via SQL*Net to client
        524  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          1  sorts (memory)
          0  sorts (disk)
          5  rows processed



        ID ISPRAVKA_J ISPRAVKA_N
---------- ---------- ----------
         1          0        100
         2        120         50
         3          0        130
         4        100        130
         5        150        110




Analiticke funkcije trose vise CPU i temporary tablespace zbog sortiranja, ali omogucuju kreiranje kompleksnih i fleksibilnih upita...

_________________
Sve sto sam napisao, slucajno je namjerno ...


Vrh
 Profil  
 
PostPoslato: 22 Dec 2014, 22:34 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 06 Apr 2003, 12:32
Postovi: 5306
Lokacija: HEAVEN
Radi i prva verzija dobro, ali ni ovo drugo nije lose rjesenje... Slicno sam i ja krenuo, ali mi je problem koristio over partition...

Tj bilo da radim sum, bilo da radim max, radio sam samo to, bez over parition... i u svakom mogucem slucaju mi je davao isti rezultat, a to je duple redove (iako je iznose upisivao ok)...

Uglavnom, pokusao sam kod sebe tvoj prvi nacin i radi dobro, probacu sutra na malo vecem broju podataka, da vidim koliko ce trajati obrada...

Hvala puno...

_________________
Slika


Vrh
 Profil  
 
PostPoslato: 22 Dec 2014, 23:03 
OffLine
Veteran
Veteran

Pridružio se: 01 Jul 2004, 11:47
Postovi: 2597
Ajd prije nego sto pokrenes taj SQL, lupi prvo ovo:
Kod:
set autotrace on trace explain statistics
set linesize 180 pages 1000
set timing on


pa mi onda kopiraj rezultat ot autotrace-a (trace, explain plan i statistics) ...

_________________
Sve sto sam napisao, slucajno je namjerno ...


Vrh
 Profil  
 
PostPoslato: 23 Dec 2014, 22:36 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 06 Apr 2003, 12:32
Postovi: 5306
Lokacija: HEAVEN
Nije bas da to mogu odraditi, posto imam ogranicene privilegije... Tj, imam predefinisane tabele, jedino sto mogu raditi je select za popunjavanje kolona u tim tabelama...

_________________
Slika


Vrh
 Profil  
 
PostPoslato: 25 Mar 2015, 20:11 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 09 Maj 2010, 00:48
Postovi: 1669
Lokacija: banja luka
E ovako,

imam u planu raditi fasadu na kuci, jos se nisam odlucio za boju, ima tu i neki predulaza balkona ba bi htio malo da se poigramsa tim preko kompa da vidim kako to izgleda.

Skinuo sam SketchuUp a pretim i neke klipove na youtbe al tesko ja to mogu povezati.

Ima li neko to u malom prstu, da bi uradio za neki minimalac :) Ili neki dobar temelj za SketchuUP ?

_________________
наш клуб наш град само нама припада Л '87


Vrh
 Profil  
 
PostPoslato: 21 Maj 2015, 17:19 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 18 Jul 2009, 18:07
Postovi: 6745
Lokacija: ( ͡° ͜ʖ ͡°)
Zna li neko za neki dobar program za HTML/CSS koji ima neki prozor da reflektuje promjene coda u nekom browser prozoru u realnom vremenu. Coda ima slican fazon, ali mi ne odgovara, a ovih par sto sam nasao su jos beta i nestabilni.


Vrh
 Profil  
 
PostPoslato: 21 Maj 2015, 18:41 
OffLine
Majstorski kandidat
Majstorski kandidat
Korisnikov avatar

Pridružio se: 07 Apr 2009, 12:08
Postovi: 300
brackets?


Vrh
 Profil  
 
PostPoslato: 21 Maj 2015, 19:30 
OffLine
Samo jedan iznad mene
Samo jedan iznad mene
Korisnikov avatar

Pridružio se: 10 Jun 2011, 21:22
Postovi: 16725
Lokacija: У близини Обрен Вакуфа
Зар нема у Дримвиверу то?

_________________
Зарада на интернету (Јесте, ја сам админ) :) Najbolji Forex brokeri
Čiča iz Rogače je napisao:
Kad pobjedimo Doboj ćemo nazvati Obren Vakuf,usprkos tebi i Vulićki
Vladimir RUS je napisao:
Na RTRS-u kazu 8000, a na Nezavisnim hiljade. :D
Dok je bilo uzivo, na RTRS-u i ATV-u nista. Zato ide live kada se otvara hidroelektrana od 42 miliona KM koja uz to zaposljava tj. bice uposleno 40-ak radnika. Milion KM po radnom mjestu.


Vrh
 Profil  
 
PostPoslato: 21 Maj 2015, 22:14 
OffLine
Majstorski kandidat
Majstorski kandidat
Korisnikov avatar

Pridružio se: 19 Jul 2012, 21:18
Postovi: 574
Sehxor je napisao:
Zna li neko za neki dobar program za HTML/CSS koji ima neki prozor da reflektuje promjene coda u nekom browser prozoru u realnom vremenu. Coda ima slican fazon, ali mi ne odgovara, a ovih par sto sam nasao su jos beta i nestabilni.

Brackets


Vrh
 Profil  
 
PostPoslato: 22 Maj 2015, 09:13 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 28 Feb 2006, 02:36
Postovi: 2982
Chrome Inspector.

Inace, moj izbor alatki:
- za nesto ozbiljnije WebStorm i PhpStorm
- za "nabrzaka": Notpad++ i vim
- za wordpress: WPIde plugin

Navodno je Grunt dobar izbor za to sto pitas, ali ja ne volim previse posrednike pa ga nisam nikada bas testirao da ti mogu reci nesto iz iskustva.


Nego, ima li neko iskustva sa Couchbase + ElasticSearch + Kibana?
Na momente dokumentacija je toliko stura da sam kopao po Gitu da nadjem neke funkcije i desifrujem Zephir da vidim gdje/sta/kako... (PHP SDK 2.0)

_________________
Popokatepetl je napisao:
...мени очи углавном служе да не упаднем у шахт ходајући улицом...


Vrh
 Profil  
 
PostPoslato: 22 Maj 2015, 10:27 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 28 Feb 2006, 02:36
Postovi: 2982
Chrome Inspector aka DevTools primjer:
http://prntscr.com/780qu3

_________________
Popokatepetl je napisao:
...мени очи углавном служе да не упаднем у шахт ходајући улицом...


Vrh
 Profil  
 
PostPoslato: 22 Maj 2015, 11:48 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 18 Jul 2009, 18:07
Postovi: 6745
Lokacija: ( ͡° ͜ʖ ͡°)
Znam za chrome inspect i to, ali nisam to trazio, vec neki dev tool tipa da bude kao notepad++ da ima syntax highlight, a pored negdje da mi prikazuje odmah promjene cim promjenim nesto u nekom browser prozoru. U chrome inspect ne mogu dovoljno brzo codirati, jer svaka izmjena treba tonu klikova :)

Probacu ovaj Brackets da vidim kako radi :)


Vrh
 Profil  
 
PostPoslato: 22 Maj 2015, 15:11 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 18 Jul 2009, 18:07
Postovi: 6745
Lokacija: ( ͡° ͜ʖ ͡°)
Probao sam Brackets, odlican je program. Radi posao sa CSS/HTML osvjezavanje u realnom vremenu. Jedina mozda zamjerka sto nema neki embedded browser u sebi nego koristi zaseban Chrome prozor. Hvala djecaci :)


Vrh
 Profil  
 
PostPoslato: 03 Sep 2015, 19:53 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 06 Apr 2003, 12:32
Postovi: 5306
Lokacija: HEAVEN
Imam SQLEXPRESS instaliran sa bazom podataka AdventureWorks...

Nadjoh jednu finu bazu podataka na netu vezanu za baseball, ali nikako da je uspijem ucitati... Naime, dobio sam sql fajl koji ima query za kreiranje baze podataka, ali kad ga pokrenem (open) nista se ne desi, a kada odradim execute query u samom SQL management studiju, izbaci mi gresku insufficient memory...

Pokusao sam preko command prompta da odradim sqlcmd -d Baseball -i lahman2014_beta.sql, medjutim izbacuje nekakvu gresku kao da ne prepoznaje sql server ili tako nesto...

Ima li ko kakvu ideju kako bih mogao odraditi import...

Naime, rijec je o bazi podataka za zadnjih desetak godina... svaka godina je jedan fajl, zadnjih par godina su sql fajlovi, prije toga imam accdb... zelio bih da to importujem sve na SQLEXPRESS kako bih se malkice igrao sa tim :)

EDIT:

Snadjoh se... skinuh access bazu, i odradim import :D

_________________
Slika


Vrh
 Profil  
 
PostPoslato: 02 Dec 2015, 20:12 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 09 Okt 2002, 19:49
Postovi: 5073
Lokacija: Banja Luka
Vjerovatno ce biti ismijavanja, al' ajde da priupitam...nemam blage veze sa programiranjem odmah da napomenem.

Elem, postoji li neki brzi nacin da jedan excelov sheet pretocim u aplikaciju za android?
Konkretno dosta funkcija i obracuna ima, ali krajnji rezultat zavisi od unosa 4-5 parametara, uz mozda jedan padajuci meni. Samo bih nekako linkovao odredjene celije i to bi bilo to.

Aj sad udrite u glavu :P


Vrh
 Profil  
 
PostPoslato: 03 Dec 2015, 00:31 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 18 Jul 2009, 18:07
Postovi: 6745
Lokacija: ( ͡° ͜ʖ ͡°)
Najlaksa solucija ti je da napravis to u html sa JS i onda kompajliras u android app preko Ludei recimo.


Vrh
 Profil  
 
PostPoslato: 04 Dec 2015, 12:57 
OffLine
Veteran
Veteran
Korisnikov avatar

Pridružio se: 28 Feb 2006, 02:36
Postovi: 2982
Moze malo preciznije?
Pretpostavljam da ti treba nesto relativno dinamicno? Prikaz na upit, mozda unos novih podataka?
Svasta se moze skarabudziti, ali zavisi od specifikacija...

Jedan od nacina je da napravis sajt od toga pa onda samo napravis "aplikaciju" koja samo ucitava taj tvoj sajt. Ima tih "kontejnera" naci po netu, imam nesto pisano u Delphi-ju od stotinjak linija koda (toliko je jednostavno). Tako su ti podaci dostupni i sa drugih platformi; ako nije android, mozes podatke vidjeti/ucitati iz browsera. (login ako neces da budu public) - tako sam nesto pravio... skarabudzeno, ruzno
Excel eksportujes kao CSV (ili XML) i onda taj fajl obradjujes da dodjes do podataka. A u zavisnosti od tipa podataka, mogucnosti se granaju.... Npr, jedna od opcija je i wordpress+woocommerce ako je forma podataka odgovarajuca. Ako te ne zanima izgled, instaliras jedno, dodas mu drugo i onda importujes csv fajl kao listu proizvoda i svi su tu sa parametrima i osobinama. - i to sam pravio i to je vec nesto prihvatljivo, ali bespotrebno za mali uzorak, za internu upotrebu
Ovo mi je prvo palo na pamet jer cesto firme tako te podatke vec u nekoj formi imaju na web-u (nekada samo za internu upotrebu) pa se vec postojeca baza moze lako iskoristiti i za ovo...

Ili jednostavno nadjes nekoga da ti napravi app koji moze da ucita fajl i obradi/prikaze podatke kako ti hoces, tako da kada se podaci promijeni ili hoces to isto za podatke iz druge poslovnice npr, da samo izaberes drugi fajl i imas i to sve da radi - custom rijesenje, uvijek najbolja solucija

Za postojece aplikacije koje rade nesto slicno mozda ne bi bilo lose da postavis pitanje na podforumu "software" ili neki drugi, posto puno ljudi ne cita skrabodine na ovom pdf-u a mozda je neko nesto vidio na store-u...

_________________
Popokatepetl je napisao:
...мени очи углавном служе да не упаднем у шахт ходајући улицом...


Vrh
 Profil  
 
Prikaži postove u poslednjih:  Poređaj po  
Započni novu temu Odgovori na temu  [ 72 Posta ]  Idi na stranicu 1, 2, 3, 4  Sledeća

Sva vremena su u UTC [ DST ]


Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 3 gostiju


Ne možete postavljati nove teme u ovom forumu
Ne možete odgovarati na teme u ovom forumu
Ne možete monjati vaše postove u ovom forumu
Ne možete brisati vaše postove u ovom forumu
Ne možete slati prikačene fajlove u ovom forumu

Pronađi:
Idi na:  
Powered by phpBB® Forum Software © phpBB Group
Hosting BitLab
Prevod - www.CyberCom.rs