Forum » Programiranje » [SQL] Poizvedba - problem
[SQL] Poizvedba - problem
velky ::
Jutri mam zagovor tele vaje in če ne naredim bom najbrž padel letnik in seveda spet delam na zadnji dan.. Jap retard sem :)
Imam naslednji problem:
Imam dve tabele PIJACA in SESTAVINE.
V obeh tabelah je atribut Zaloga, kjer mi pač piše, koliko naprimer neke pijace imamo na zalogi.
Imam pa še tabelo CENIK, kjer pa je cena za vsako PIJACO/SESTAVINO.(povezano seveda s tujim ključem).
Moram pa narediti tole povpraševanje:
Koliko denarja imamo v zalogah?
Zdaj pa me zanima kako bi naredil tole ( sem si zamislil nek postopek):
Da bi nekako v PIJACA vzel prvo pijaco, pomnožil ceno z zneskom(da dobim koliko je pac denarja), ter to naredil za vsako pijaco v tabeli PIJACA.
Postopek bi ponovil v tabeli SESTAVINE.
Nato pa seštel te dve dobljene vrednost.
Ma kdo kaj pojma? Res lepo prosim za pomoč.
-----------------------------------------
CREATE TABLE CENIK(
ID_CENIKA INTEGER NOT NULL,
ZNESEK INTEGER NOT NULL,
DATUM DATE NOT NULL
);
ALTER TABLE CENIK
ADD (CONSTRAINT PK_CENIK PRIMARY KEY (ID_CENIKA));
---------
CREATE TABLE SESTAVINE(
ID_SESTAVINE INTEGER NOT NULL,
NAZIV VARCHAR2(30) NOT NULL,
ROK_TRAJANJA DATE NOT NULL,
TK_ID_CENIK INTEGER
);
ALTER TABLE SESTAVINE
ADD(CONSTRAINT PK_SESTAVINE PRIMARY KEY(ID_SESTAVINE));
ALTER TABLE SESTAVINE--POVEZAVA Z CENIKOM KER VSEBUJE CENIK
ADD (CONSTRAINT TK_SESTAVINA_ID_CENIK FOREIGN KEY
(TK_ID_CENIK) REFERENCES CENIK(ID_CENIKA));
----------
CREATE TABLE PIJACA(
ID_PIJACE INTEGER NOT NULL,
NAZIV VARCHAR2(30) NOT NULL,
TK_ID_CENIK INTEGER,
ZALOGA INTEGER NOT NULL
);
ALTER TABLE PIJACA
ADD (CONSTRAINT PK_PIJACA PRIMARY KEY (ID_PIJACE));
ALTER TABLE PIJACA--POVEZAVA Z CENIKOM KER VSEBUJE CENIK
ADD (CONSTRAINT TK_PIJACA_ID_CENIK FOREIGN KEY
(TK_ID_CENIK) REFERENCES CENIK(ID_CENIKA));
Imam naslednji problem:
Imam dve tabele PIJACA in SESTAVINE.
V obeh tabelah je atribut Zaloga, kjer mi pač piše, koliko naprimer neke pijace imamo na zalogi.
Imam pa še tabelo CENIK, kjer pa je cena za vsako PIJACO/SESTAVINO.(povezano seveda s tujim ključem).
Moram pa narediti tole povpraševanje:
Koliko denarja imamo v zalogah?
Zdaj pa me zanima kako bi naredil tole ( sem si zamislil nek postopek):
Da bi nekako v PIJACA vzel prvo pijaco, pomnožil ceno z zneskom(da dobim koliko je pac denarja), ter to naredil za vsako pijaco v tabeli PIJACA.
Postopek bi ponovil v tabeli SESTAVINE.
Nato pa seštel te dve dobljene vrednost.
Ma kdo kaj pojma? Res lepo prosim za pomoč.
-----------------------------------------
CREATE TABLE CENIK(
ID_CENIKA INTEGER NOT NULL,
ZNESEK INTEGER NOT NULL,
DATUM DATE NOT NULL
);
ALTER TABLE CENIK
ADD (CONSTRAINT PK_CENIK PRIMARY KEY (ID_CENIKA));
---------
CREATE TABLE SESTAVINE(
ID_SESTAVINE INTEGER NOT NULL,
NAZIV VARCHAR2(30) NOT NULL,
ROK_TRAJANJA DATE NOT NULL,
TK_ID_CENIK INTEGER
);
ALTER TABLE SESTAVINE
ADD(CONSTRAINT PK_SESTAVINE PRIMARY KEY(ID_SESTAVINE));
ALTER TABLE SESTAVINE--POVEZAVA Z CENIKOM KER VSEBUJE CENIK
ADD (CONSTRAINT TK_SESTAVINA_ID_CENIK FOREIGN KEY
(TK_ID_CENIK) REFERENCES CENIK(ID_CENIKA));
----------
CREATE TABLE PIJACA(
ID_PIJACE INTEGER NOT NULL,
NAZIV VARCHAR2(30) NOT NULL,
TK_ID_CENIK INTEGER,
ZALOGA INTEGER NOT NULL
);
ALTER TABLE PIJACA
ADD (CONSTRAINT PK_PIJACA PRIMARY KEY (ID_PIJACE));
ALTER TABLE PIJACA--POVEZAVA Z CENIKOM KER VSEBUJE CENIK
ADD (CONSTRAINT TK_PIJACA_ID_CENIK FOREIGN KEY
(TK_ID_CENIK) REFERENCES CENIK(ID_CENIKA));
Tody ::
To je pa ja preprosto. Sešteješ, koliko pijač imaš na zalogi in to pomnožš s ceno ki jo imaš v imeniku. SQL zna vse to.
select count(naziv) from pijaca -- dobiš število pijač na zalogi
Potem pa samo sešteješ ceno sestavin skupaj.
select count(naziv) from pijaca -- dobiš število pijač na zalogi
Potem pa samo sešteješ ceno sestavin skupaj.
MrStein ::
To nima ravno smisla.
Najprej za vsako pijačo poiščeš ceno, in potem to sešteješ. Enako za sestavine.
A datume in rok trajanja ni treba upoštevati?
Najprej za vsako pijačo poiščeš ceno, in potem to sešteješ. Enako za sestavine.
A datume in rok trajanja ni treba upoštevati?
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | oracle 12 identity (the old way)Oddelek: Programiranje | 1062 (867) | detroit |
» | PostgreSQL pomočOddelek: Programiranje | 2511 (2004) | Mato989 |
» | SQL Parent key not foundOddelek: Programiranje | 1065 (988) | Ciklamen |
» | SQL težavaOddelek: Programiranje | 5196 (4478) | joseti |
» | SQL problemOddelek: Programiranje | 975 (913) | dejc009 |