[ Gucci @ 07.12.2004. 15:53 ] @
Pozdrav narode,

Eh ovako ... Pitanje je vezano za type 1 Nested SQL Query. Imam 2 tabele koje mi trebaju a Access bazi, međutim druga ima samo jednu kolonu koja mi treba i koja se koristi u ovom queriju. Trebam da izvucem broj, ime, prezime i grad svih kupaca ciji je balans preko $150 i koji su narucili neki produkt u februaru. Prva tabela se zove "Customer", druga "OrderTbl". U tabeli Customer imam polja CustNo, CustFirstName, CustLastName, CustBal koji koristim u queriju i koje treba da pozovem. Mozda bi trebao spomenut da i jedna i druga tabela imaju kolonu CustNo.
U drugoj tabeli imam samo OrdDate koji mi treba. Znaci treba iz prve tabele da izvucem CustNo, CustFirstName, CustLastName, od osoba ciji je CustBal > 150, a koje su kupili neki produkt u februaru. Datum je dat u formatu recimo 02/12/2004.
Napisao sam sljedeci query, al ocigledno je greska jer ne dobijam rezultate, al mi ni ne izbacuje nikakvu sintax gresku takodje. Hvala puno unapred :)

SELECT Customer.CustNo, CustFirstName, CustLastName, CustCity
FROM Customer INNER JOIN OrderTbl ON
Customer.CustNo = OrderTbl.CustNo
WHERE CustBal > 150 AND OrdDate IN
(SELECT OrdDate FROM OrderTbl
WHERE OrdDate LIKE '02*');
[ GoranVucicevic @ 07.12.2004. 16:34 ] @
SELECT Customer.CustNo, CustFirstName, CustLastName, CustCity
FROM Customer INNER JOIN OrderTbl ON
Customer.CustNo = OrderTbl.CustNo
WHERE CustBal > 150 AND Month(OrdDate) = 2;
[ Gucci @ 07.12.2004. 21:43 ] @
Gorane,

Hvala ti, query radi. Medjutim, ja sam na pocetku napravio gresku kada sam pisao query. Kao sto sam ranije spomeno, mora biti nested query. Nesto kao sljedece:

SELECT Customer.CustNo, CustFirstName, CustLastName, CustCity
FROM Customer
WHERE Customer.CustNo IN
( SELECT CustNo FROM Customer
WHERE CustBal > 150)
( SELECT OrdNo FROM OrderTbl
WHERE Month(OrdDate)=2)

Medjutim, daje mi sintax gresku. Mozel se popravit :)
Hvala puno.
[ GoranVucicevic @ 07.12.2004. 22:19 ] @
Izvini, nisam bas najbolje shvatio sta zelis.
Prvo, nije mi jasno gde ti je polje CustBal (da li ga izracunavas ili je u tabeli Customer), da li ti moras da resis kao nested ili mislis da tako treba..
Ako je u pitanju realni problem i treba ti optimalni upit koji bi radio, molim te navedi strukturu tabela koje su u prici i tekstualan detaljan opis onoga sto upit treba da ti vrati, pa cu ti vrlo rado pomoci.
Sve najbolje!
[ Gucci @ 07.12.2004. 23:06 ] @
Gorane,

CustBal je polje u tabeli Customer. Skracenica od Customer Balance. Da, zadatak jeste postavljen tako da je uslov da mora biti nested query. Znaci 2 SELECT naredbe ce trebati.
Postoje 2 tabele, jedna se zove znaci Customer, druga OrderTbl. OrdDate je takodje polje u tabeli OrderTbl.

Znaci trebam da povucem polja CustFirstName, CustLastName, CustNo (Customer Number) a kojima je CustBal > 150 dolara (sve to iz tabele Customer), a koji su napravili narudzbu u februaru (to polje se, kako sam vec naveo, nalazi u tabeli OrderTbl).

Znam da kad se ovako objasnjava, lako se pobrkraju detalji, al eto pokuso sam da zacas najbolje sto mogu objasnim te detalje.
Hvala ti puno na pomoci.
[ GoranVucicevic @ 07.12.2004. 23:20 ] @
SELECT Customer.CustNo, CustFirstName, CustLastName, CustCity
FROM Customer
WHERE Customer.CustNo IN
(SELECT CustNo FROM Customer
WHERE CustBal > 150)
AND Customer.CustNo IN
(SELECT CustNo FROM OrderTbl
WHERE Month(OrdDate)=2)
[ Gucci @ 07.12.2004. 23:24 ] @
Svaka čast Gorane. To je to!
Hvala.