oracle - sql - dotazy
oracle - sql - dotazy
potrebujem poradit s oracle, robim tam dotazy ale ked chcem minimalnu aleob maximalnu cenu mal by mi tam vyjst len jeden vysledok ale ono mi to furt hadze tych 10predvolenych hoci nemam ani zaskrtnute hore ze autocommit.. neviete mi poradit prosim ako nastavit aby mi to dalo vysledky ako ja chcem a nie furt hadzalo tych 10? dakujem
Re: oracle - sql - dotazy
no a co takto napisat tie selecty ? ... (pouzivas Toad ? ci SQL Developera ? (podla mna nepotrebna informacia ))
lebo pochybujem že toto sa týka IDE resp. databazy ...
lebo pochybujem že toto sa týka IDE resp. databazy ...
Re: oracle - sql - dotazy
toto je to co zadavam a mala by mi vyjst len jedna cena ako maximalna na jeden vyrobok:
SELECT v.nazov_vyrobku AS id, v.cislo_vyrobku, v.cena_vyrobku AS "max_cena"
FROM vyrobok v
WHERE v.cena_vyrobku=(SELECT max(v.cena_vyrobku) FROM vyrobok v);
a robim v oracle database express edition
SELECT v.nazov_vyrobku AS id, v.cislo_vyrobku, v.cena_vyrobku AS "max_cena"
FROM vyrobok v
WHERE v.cena_vyrobku=(SELECT max(v.cena_vyrobku) FROM vyrobok v);
a robim v oracle database express edition
Re: oracle - sql - dotazy
BTW: kod davaj do code parovej bbCode znacky
nechapem preco pouzivas rovnaky alias pre vnoreny select ten dotaz ti vobec zbehol ??? ked bol tamtak postaveny ?
Kód: Vybrať všetko
SELECT TOP 1 nazov_vyrobku, cislo_vyrobku, cena_vyrobku AS 'max_cena' FROM vyrobok ORDER BY cena_vyrobku DESC;
Re: oracle - sql - dotazy
nejde mi to
a malo by to byt z dvoch tabuliek entit takto:
SELECT v.nazov_vyrobku AS id, v.typ_vyrobku, c.cislo_vyrobku, c.cena_bez_DPH AS "min_cena"
FROM vyrobok v, cennik c
WHERE c.cena_bez_DPH=(SELECT min(c.cena_bez_DPH) FROM cennik c);
lenze predtym ako som to robila v prvom zadani mi to pekne hadzalo len jeden vysledok ako malo ale teraz furt tych 10 akoby to tam bolo zadane hoci nemam autocommit zaciarktnuty nic takze neviem ako to vypnut
a malo by to byt z dvoch tabuliek entit takto:
SELECT v.nazov_vyrobku AS id, v.typ_vyrobku, c.cislo_vyrobku, c.cena_bez_DPH AS "min_cena"
FROM vyrobok v, cennik c
WHERE c.cena_bez_DPH=(SELECT min(c.cena_bez_DPH) FROM cennik c);
lenze predtym ako som to robila v prvom zadani mi to pekne hadzalo len jeden vysledok ako malo ale teraz furt tych 10 akoby to tam bolo zadane hoci nemam autocommit zaciarktnuty nic takze neviem ako to vypnut
Re: oracle - sql - dotazy
blah tie podčiarkovniky tam davas za trest
autocommint sluzi na potvrdenie zmien v databaze a ty robis iba selecty tzn. ziaden insert update delete nerobis tak ta ten autocommit nemusi vobec trapit teda aspon tak to je na Toadovi ...
akoze mala by si si pozret trocha teoriu lebo tam mas take chu**** popisane nesuviasiace ze ten select by ti nemal fungovat...
resp. ked ti tak funguje tak ti vybera vsetky produkty preto lebo nemas prepojenie medzi cennikom a produktami
autocommint sluzi na potvrdenie zmien v databaze a ty robis iba selecty tzn. ziaden insert update delete nerobis tak ta ten autocommit nemusi vobec trapit teda aspon tak to je na Toadovi ...
akoze mala by si si pozret trocha teoriu lebo tam mas take chu**** popisane nesuviasiace ze ten select by ti nemal fungovat...
resp. ked ti tak funguje tak ti vybera vsetky produkty preto lebo nemas prepojenie medzi cennikom a produktami
-
Sagittarius
Guru
- Príspevky: 2883
- Registrovaný: 13 feb 2007, 21:58
- Bydlisko: Do nekonečna a ešte ďalej
Re: oracle - sql - dotazy
Skús takto: 
Plus pravdaže spoj tie dve tabuľky len neviem, ktorý atribút je cudzí kľúč, tak som to nenapísal.
Kód: Vybrať všetko
SELECT v.nazov_vyrobku AS id, v.typ_vyrobku, c.cislo_vyrobku, c.cena_bez_DPH AS "min_cena"
FROM vyrobok v, cennik c
HAVING min(c.cena_bez_DPH);