Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
clownfish Član

Pridružen-a: Pet 05 Avg 2005 13:05 Prispevkov: 765 Aktiv.: 3.23 Kraj: Povir / Ljubljana
|
Objavljeno: Čet Sep 25, 2014 10:39 am Naslov sporočila: SQL vprašanje |
|
|
Imam dve tabeli iz katerih bi želel skreirati tretjo tabelo.
Samo ne znam query-ja napisati tako, da bi mi SQL to izvedel in zgeneriral končno tabelo.
Je kdo tukaj, ki bi mi lahko pri temu pomagal?
|
|
Nazaj na vrh |
|
 |
clownfish Član

Pridružen-a: Pet 05 Avg 2005 13:05 Prispevkov: 765 Aktiv.: 3.23 Kraj: Povir / Ljubljana
|
Objavljeno: Čet Sep 25, 2014 10:45 am Naslov sporočila: Re: SQL vprašanje |
|
|
Gre za tabelo prevzemov v skladišče (po datumih, količinah in različnih prevzemnih cenah)
Ter drugo tabelo izdaj iz skladišča prav tako po datumih ter količinah ter izdajnih cenah.
Tabeli je potrebno povezati tako, da se artikli izdajajo po FIFO načinu. Torej za vsako izdajo se najprej "porabi" artikle iz najstarejšega prevzema po ceni tega prevzema nato pa naslednjega..
Torej lahko pride v končni tabeli tudi do izpis iste izdaje iz več prevzemov po več različnih prevzemnih cenah.
Torej tako tabelo bi potreboval...
Na koncu bi želel vrednotenje vsake izdaje glede na nabavne vrednosti... in tako bi dobil realno RVC - razliko v ceni.
|
|
Nazaj na vrh |
|
 |
. Neznanec

Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Čet Sep 25, 2014 11:02 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika.
|
|
Nazaj na vrh |
|
 |
clownfish Član

Pridružen-a: Pet 05 Avg 2005 13:05 Prispevkov: 765 Aktiv.: 3.23 Kraj: Povir / Ljubljana
|
Objavljeno: Čet Sep 25, 2014 11:32 am Naslov sporočila: |
|
|
Tabela prevzemov:
Datum Artikel Prevzem Kolicina Cena Status
20121204 930826 PR00000 12 10 ZacStanje
20121205 930826 PR00131 5 12 Prevzem
20130627 930826 PR00174 10 14 Prevzem
20130910 930826 PR00193 13 18 Prevzem
20131023 930826 PR00231 6 10 Prevzem
20140116 930826 PR00452 4 16 Prevzem
Tabela izdaj:
Datum Artikel Izdaja Izdaja
20121207 930826 IZD00213 -2
20121207 930826 IZD00214 -3
20130103 930826 IZD00215 -1
20130110 930826 IZD00216 -1
20130123 930826 IZD00217 -3
20130306 930826 IZD00218 -1
20130508 930826 IZD00219 -3
20130603 930826 IZD00220 -1
20130708 930826 IZD00221 -2
20130727 930826 IZD00222 -3
20130801 930826 IZD00223 -2
20130816 930826 IZD00224 -3
20130904 930826 IZD00225 -1
20130905 930826 IZD00226 -1
20130918 930826 IZD00227 -1
20131008 930826 IZD00228 -1
20131008 930826 IZD00229 -2
20131011 930826 IZD00230 -3
20131015 930826 IZD00231 -4
20131016 930826 IZD00232 -2
20131029 930826 IZD00233 -2
20131107 930826 IZD00234 -1
20131116 930826 IZD00235 -1
20140109 930826 IZD00236 -1
20140128 930826 IZD00237 -1
20140128 930826 IZD00238 -1
Skupna tabela z stanjem zaloge in izdajami glede na prevzeme:
Datum Artikel Izdaja Izdaja Cena Status Prevzem StanjeZaloge Cena
20121204 930826 PR00000 12 10 ZacStanje 12
20121205 930826 PR00131 5 12 Prevzem 17
20121207 930826 IZD00213 -2 PR00000 15 10
20121207 930826 IZD00214 -3 PR00000 12 10
20130103 930826 IZD00215 -1 PR00000 11 10
20130110 930826 IZD00216 -1 PR00000 10 10
20130123 930826 IZD00217 -3 PR00000 7 10
20130306 930826 IZD00218 -1 PR00000 6 10
20130508 930826 IZD00219 -1 PR00000 5 10
20130508 930826 IZD00219 -2 PR00131 3 12
20130603 930826 IZD00220 -1 PR00131 2 12
20130627 930826 PR00174 10 14 Prevzem 12
20130708 930826 IZD00221 -2 PR00131 10 12
20130727 930826 IZD00222 -3 PR00174 7 14
20130801 930826 IZD00223 -2 PR00174 5 14
20130816 930826 IZD00224 -3 PR00174 2 14
20130904 930826 IZD00225 -1 PR00174 1 14
20130905 930826 IZD00226 -1 PR00174 0 14
20130910 930826 PR00193 13 18 Prevzem 13
20130918 930826 IZD00227 -1 PR00193 12 13
20131008 930826 IZD00228 -1 PR00193 11 13
20131008 930826 IZD00229 -2 PR00193 9 13
20131011 930826 IZD00230 -3 PR00193 6 13
20131015 930826 IZD00231 -3 PR00193 3 13
20131015 930826 IZD00231 -1 PR00193 2 13
20131016 930826 IZD00232 -2 PR00193 0 13
20131023 930826 PR00231 6 10 Prevzem 6
20131029 930826 IZD00233 -2 PR00231 4 10
20131107 930826 IZD00234 -1 PR00231 3 10
20131116 930826 IZD00235 -1 PR00231 2 10
20140109 930826 IZD00236 -1 PR00231 1 10
20140116 930826 PR00452 4 16 Prevzem 5
20140128 930826 IZD00237 -1 PR00231 4 10
20140128 930826 IZD00238 -1 PR00452 3 16
3
Ter iz te pridobljena končna tabela izdaj z izdajnimi cenami..
Datum Artikel Izdaja Izdaja Prevzem Cena
20121207 930826 IZD00213 -2 PR00000 10
20121207 930826 IZD00214 -3 PR00000 10
20130103 930826 IZD00215 -1 PR00000 10
20130110 930826 IZD00216 -1 PR00000 10
20130123 930826 IZD00217 -3 PR00000 10
20130306 930826 IZD00218 -1 PR00000 10
20130508 930826 IZD00219 -1 PR00000 10
20130508 930826 IZD00219 -2 PR00131 12
20130603 930826 IZD00220 -1 PR00131 12
20130708 930826 IZD00221 -2 PR00131 12
20130727 930826 IZD00222 -3 PR00174 14
20130801 930826 IZD00223 -2 PR00174 14
20130816 930826 IZD00224 -3 PR00174 14
20130904 930826 IZD00225 -1 PR00174 14
20130905 930826 IZD00226 -1 PR00174 14
20130918 930826 IZD00227 -1 PR00193 13
20131008 930826 IZD00228 -1 PR00193 13
20131008 930826 IZD00229 -2 PR00193 13
20131011 930826 IZD00230 -3 PR00193 13
20131015 930826 IZD00231 -3 PR00193 13
20131015 930826 IZD00231 -1 PR00193 13
20131016 930826 IZD00232 -2 PR00193 13
20131029 930826 IZD00233 -2 PR00231 10
20131107 930826 IZD00234 -1 PR00231 10
20131116 930826 IZD00235 -1 PR00231 10
20140109 930826 IZD00236 -1 PR00231 10
20140128 930826 IZD00237 -1 PR00231 10
20140128 930826 IZD00238 -1 PR00452 16
Logika je taka, da vzamem začetno zalogo - začetni prevzem in jo z izdajami začnem porabljati.
Če vmes pride nov prevzem ga shranim in ko z prevzemi porabim zalogo prvotnega prevzema vem da moram za naslednjo izdajo začeti rabiti zalogo iz novega prevzema. Tako lahko ima neka izdaja tudi artikle izdane iz več prevzemov. To je tudi razvidno iz zadnjih dveh tabel.
Jasno zaloga ne sme nikoli pasti pod nič..
Je pa to seveda samo primer na enem artiklu in samo del - segment dogajanja a vseeno zadosten da se zadeva lahko sproba in stetsira ali query pravilno deluje..
Datun na začetku je sicer malo izvidno zložen a tak je v sistemu..
Upam, da je iz tabel razvidno kaj bi želel?
Za pomoč se že vnaprej zahvaljujem !!!
|
|
Nazaj na vrh |
|
 |
. Neznanec

Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Čet Sep 25, 2014 11:54 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika.
|
|
Nazaj na vrh |
|
 |
clownfish Član

Pridružen-a: Pet 05 Avg 2005 13:05 Prispevkov: 765 Aktiv.: 3.23 Kraj: Povir / Ljubljana
|
Objavljeno: Čet Sep 25, 2014 12:00 pm Naslov sporočila: |
|
|
Kroko je napisal/a: |
V "Skupna tabela z stanjem zaloge in izdajami glede na prevzeme" tabeli mi podaki nekako ne pašejo skupaj. Stolpci in vrednosti se ne ujemajo. |
Kje to točno misliš? kje se ne ujema?
tabelo sem naredil na roke v excelu in upošteval željeni način izdaje FIFO.
|
|
Nazaj na vrh |
|
 |
. Neznanec

Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Čet Sep 25, 2014 1:06 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika.
|
|
Nazaj na vrh |
|
 |
clownfish Član

Pridružen-a: Pet 05 Avg 2005 13:05 Prispevkov: 765 Aktiv.: 3.23 Kraj: Povir / Ljubljana
|
Objavljeno: Čet Sep 25, 2014 1:33 pm Naslov sporočila: |
|
|
Kroko je napisal/a: |
Malce težko je tole izpisati, tako da se stolpci ujemajo ampak približno pa je.
Upam, da se vidi, kje je problem.
Koda: |
Datum Artikel Izdaja Izdaja Cena Status Prevzem StanjeZaloge Cena
20121204 930826 PR00000 12 10 ZacStanje 12
20121205 930826 PR00131 5 12 Prevzem 17
20121207 930826 IZD00213 -2 PR00000 15 10
|
|
Ta tabela ima vnešene tako prevzeme kot tudi izdaje. Urejeno datumsko seveda.
V tretjem stolpcu "Izdaja" se lahko vidi kdaj gre za prevzem oz izdajo PR-prevzem IZD-izdaja, prav tako so količine v četrtem stolpcu "izdaja" pri prevzemih pozitivne pri izdajah negativne.
Tako je tukaj prva vrstica kot prevzem začetnega stanja in količine 12 kosov ime prevzema je PR00000 prevzemna cena za kos je 10.
Druga vrstica je spet prevzem z imenom PR00131 količino 5 kosov in prevzemno ceno 12.
Tretja vrstica pa je prva izdaja iz skladišča IZD00213 v tem primeru 2 kosa.
Ker se izdaja FIFO se to izda po prevm prevzemu PR00000 in po tej izdaji iz prvotnega prevzema ostane na zalogi še 10kosov (stolpec StanjeZaloge) in seveda vseh 5 iz drugega prevzema.
Tako se iz prvega prevzema izdaja do izdaje IZD00219 kjer bi se morala izdati količina 3kose vendar ker je iz prvega prevzema na zalogi le še 1 kos se iz tega izda 1 kos ter iz naslednjega prevzema še 2 kosa:
Datum Artikel Izdaja Izdaja Cena Status Prevzem StanjeZaloge
20130508 930826 IZD00219 -1 PR00000 5
20130508 930826 IZD00219 -2 PR00131 3
|
|
Nazaj na vrh |
|
 |
clownfish Član

Pridružen-a: Pet 05 Avg 2005 13:05 Prispevkov: 765 Aktiv.: 3.23 Kraj: Povir / Ljubljana
|
Objavljeno: Čet Sep 25, 2014 1:59 pm Naslov sporočila: |
|
|
Mogoče se v pripetem excelu bolje razbere..
Opis: |
|
Velikost datoteke: |
177.85 KB |
Pogledana: |
20 krat |

|
Opis: |
|
 Download |
Ime datoteke: |
PrimerPrometaSkl.xls |
Velikost datoteke: |
16.19 KB |
Downloadano: |
0 krat |
|
|
Nazaj na vrh |
|
 |
. Neznanec

Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Čet Sep 25, 2014 2:25 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika.
|
|
Nazaj na vrh |
|
 |
clownfish Član

Pridružen-a: Pet 05 Avg 2005 13:05 Prispevkov: 765 Aktiv.: 3.23 Kraj: Povir / Ljubljana
|
Objavljeno: Čet Sep 25, 2014 2:38 pm Naslov sporočila: |
|
|
Kroko je napisal/a: |
Ok, sedaj razumem to excel tabelo. |
Citiram: |
Ti bi rad SQL, ki ti naredi tako tabelo, kot imaš sedaj v Excel-u? |
V bistvu samo izdaje z izdajnimi cenami torej zadnjo tabelo kjer ni prevzemov..
Citiram: |
Katero bazo uporabljaš? |
MS SQL Server in na njemu bazo...
|
|
Nazaj na vrh |
|
 |
. Neznanec

Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Čet Sep 25, 2014 3:52 pm Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika.
|
|
Nazaj na vrh |
|
 |
clownfish Član

Pridružen-a: Pet 05 Avg 2005 13:05 Prispevkov: 765 Aktiv.: 3.23 Kraj: Povir / Ljubljana
|
Objavljeno: Čet Sep 25, 2014 4:11 pm Naslov sporočila: |
|
|
Kroko je napisal/a: |
Aha, kako pa sedaj dobiš Excel tabelo? |
z dvema select stavkoma in pogoji..
Ampak to ni problem saj kreiram dve dodatni tabeli, ki jih potem drop-nem..
|
|
Nazaj na vrh |
|
 |
danilo Član

Pridružen-a: Sre 20 Avg 2003 14:57 Prispevkov: 147 Aktiv.: 0.62 Kraj: Kamnik
|
Objavljeno: Čet Sep 25, 2014 4:32 pm Naslov sporočila: |
|
|
V osnovi sledeči select stavek:
select * into nova_tabela from ..... (pogoj je, da nova_tabela še ne obstaja)
ali pa
create table nova_tabela( col1 tip(varchar(xx) null, ....)
insert into nova_tabela
select * from .......
Kako pa sta povezani tabeli, pa se nisem poglabljal. Priporočam pa, da * zamenjaš z imeni stolpcov. Zakaj? zato, če dodaš nov stolpec v prov ali drugo tabelo, ti bodo select stavki še vedno delovali.
lp Danilo
|
|
Nazaj na vrh |
|
 |
danilo Član

Pridružen-a: Sre 20 Avg 2003 14:57 Prispevkov: 147 Aktiv.: 0.62 Kraj: Kamnik
|
Objavljeno: Čet Sep 25, 2014 5:54 pm Naslov sporočila: |
|
|
Poglej si še kako združiš dve tabeli v eno z join ukazom. Za razlago glej select stavek.
lp Danilo
|
|
Nazaj na vrh |
|
 |
|