oracle - sql - dotazy

Programovacie jazyky, rady, poradňa...
macko9
Medium Expert
Medium Expert
Príspevky: 138
Registrovaný: 11 sep 2006, 15:19
Bydlisko: bratislava

oracle - sql - dotazy

Príspevok od používateľa macko9 »

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
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: oracle - sql - dotazy

Príspevok od používateľa c-ice »

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 ...
macko9
Medium Expert
Medium Expert
Príspevky: 138
Registrovaný: 11 sep 2006, 15:19
Bydlisko: bratislava

Re: oracle - sql - dotazy

Príspevok od používateľa macko9 »

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
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: oracle - sql - dotazy

Príspevok od používateľa c-ice »

BTW: kod davaj do code parovej bbCode znacky

Kód: Vybrať všetko

SELECT TOP 1 nazov_vyrobku, cislo_vyrobku, cena_vyrobku AS 'max_cena' FROM vyrobok ORDER BY cena_vyrobku DESC;
nechapem preco pouzivas rovnaky alias pre vnoreny select ten dotaz ti vobec zbehol ??? ked bol tamtak postaveny ?
macko9
Medium Expert
Medium Expert
Príspevky: 138
Registrovaný: 11 sep 2006, 15:19
Bydlisko: bratislava

Re: oracle - sql - dotazy

Príspevok od používateľa macko9 »

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
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: oracle - sql - dotazy

Príspevok od používateľa c-ice »

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
Sagittarius
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2883
Registrovaný: 13 feb 2007, 21:58
Bydlisko: Do nekonečna a ešte ďalej

Re: oracle - sql - dotazy

Príspevok od používateľa Sagittarius »

Skús takto: :)

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);
Plus pravdaže spoj tie dve tabuľky len neviem, ktorý atribút je cudzí kľúč, tak som to nenapísal.
Napísať odpoveď