» »

[Access, Sql] Pogoji pri poizvedbah

[Access, Sql] Pogoji pri poizvedbah

balocom ::

Mam eno težavo z Accesom pri poizvedbah in sicer pri pogojih. V poizvedbo dam 2 tabeli (recimo tabela živali in tabela hran za njih ter seveda zaloge). No, ko poizvedbo naredim, mi vrže ven vse kobinacije (8 živali, 8 različnih jedi->64 izpisov:D ), jaz bi pa rad samo 1 izpis za vsako žival ter nato hrano. Poskušal sm z [vrsta].[živali]=[žival].[hrana], a na začetku hoče vnos in ga pač dam, nato pa izpiše vse oz. če sta vnosa različna nič:8)
V svetu brez googla bi bil najbolj uporabljen ukaz v bash-u ukaz man

appz ::

Sicer ne vem ce te prav razumem kaj bi rad.
Ce imas 2 tabele (zival,Hrana) in ce imas pri obeh primarni kljuc ter potem obe ustrezno povezani bi moralo bi to to; poivedba te vprasa za ime katerega mores ustrezno vpisati

SELECT zival.Ime, Hrana.Naziv, [zival] AS Ime
FROM zival INNER JOIN Hrana ON zival.idZival = Hrana.idZival
WHERE ((([zival])=[zival].[ime]));

ali pa brez vpisa imena zivali - poizvedba vrne za vsako zival katera hrana mu pripada!

SELECT zival.idZival, zival.Ime, Hrana.Naziv
FROM zival INNER JOIN Hrana ON zival.idZival = Hrana.idZival;

To je vse pod pogojem ce sem te prav razumel!
lp

balocom ::

fora je da mi access ne pogleda v vrstico , ki jo izpisuje po imenu [vrsta].[živali] ter po [žival].[hrana], ter od tam jemle podatke za pogoj za tisto vrstico. In jst bi rad mel da ne izpiše vseh kombinacij, ampak samo tiste vrstice kjer so [vrsta].[živali] ter [žival].[hrana] enake. Če pa tam dam pogoj, pa me na začetku vpraša za [vrsta].[živali] ter [žival], nato pa to upošteva za celo tabelo:( . Če je pa kje FALSE pa seveda sploh ne izpiše tabele:\ .

EDIT: Če dam namesto [vrsta].[živali]=[žival].[hrana] SQL stavek (oz. naj bi bil...) me vsaj ne vpraša za vnos ampak kr direkt nič ne izpiše>:D.
"WHERE (SELECT model FROM Orožje) =( SELECT Naziv FROM naboji)" -seveda če je prov:\
P.S. Ali je možno da Access ob enem napačnem pogoju vzame za celo tabelo FALSE in nič ne izpiše:\ ?
V svetu brez googla bi bil najbolj uporabljen ukaz v bash-u ukaz man

Zgodovina sprememb…

  • spremenil: balocom ()

appz ::

najprej mi povej kako ti izgledeajo tabele! napisi kaj imas v posamezni tabeli (imena stolpcev)
"[vrsta].[živali]=[žival].[hrana]" - po tem sodec imas tabelo vrsta ter tabelo zival, ampak ta enakost ne pomeni nic, ker primerjas stolpec zivali (zirafa) z stolpcem hrana (polenta).
tudi to "WHERE (SELECT model FROM Orožje) =( SELECT Naziv FROM naboji)" ne pomeni nic, ker enacis (v kolikor je tako) model orozja (npr. magnum44) z nazivom nabojev (npr. 8mm) - izpis je 0 !! Praviloma bi moralo biti tako "WHERE (SELECT idModel FROM Orožje) =( SELECT idModel FROM naboji)" --- kar pomeni, da je idModel v tabeli Orozje primarni kljuc ter idModel v tabeli naboji tuj kljuc!! Razumes?
torej ce hoces neko konkretno pomoc mal bolj opisi kaj imas v tabeli
lp

balocom ::

ker primerjas stolpec zivali (zirafa) z stolpcem hrana (polenta).

Ne, primerjam stolpec žival (vrsta-opica) z stolpcem oz. tablo hrane (seveda vsto živali za katero je hrana-torej opica, ne pa banane).
Sm ne vem zakaj hoče vnos pri odpiranju, ne pa da si za vsako vrstico sam podatke potegne;( .
Tabele so:
Orožje:
Proizvajalec
ID
Model
št. kosov

Naboji:
kaliber
model (seveda to pomeni za ker model v tabeli orožja so narejni)
količina (stanje zalog)
V svetu brez googla bi bil najbolj uporabljen ukaz v bash-u ukaz man

appz ::

SELECT Orozje.model, Orozje.Proizvajalec, Naboji.Kaliber
FROM Orozje INNER JOIN Naboji ON Orozje.model = Naboji.Model;
tole pri meni dela BP ... izpise tocno to kar zahtevas ..(ustvarjeno na podlagi tvojih podatkov)

opomba: ker imas tabele narejene tako (ocitno brez primarnih kljucev) in imas povezavo po Modelu (ne priporocam) - imas narejene relacije med tabelama?
lp


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

SQL developer

Oddelek: Šola
81549 (1127) HotBurek
»

Podatkovne baze - SQL enostavne poizvedbe

Oddelek: Programiranje
72050 (1643) galu
»

Baza & c#

Oddelek: Programiranje
214151 (3209) xardas
»

[Oracle] Osnovno povpraševanje problem

Oddelek: Programiranje
151899 (1540) zdravc
»

[C#] izdelava tabele

Oddelek: Programiranje
71983 (1809) majoneza

Več podobnih tem