Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

SQL upit, IB, D2007

[es] :: Pascal / Delphi / Kylix :: SQL upit, IB, D2007

[ Pregleda: 1729 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

prginfo
NS

Član broj: 174814
Poruke: 133
*.ADSL.neobee.net.



+1 Profil

icon SQL upit, IB, D200728.05.2010. u 07:24 - pre 169 meseci
Koristim D2007 i IB.

Potrebna mi je pomoc oko sintakse za SQL upit u kodu. Problem je u sledecem:

1.
stavio sam u OnChange edit kontrole sledece

Query.Close;
Query.SQL.Clear;
Query.SQL.Add('select * from TABELA where UPPER(POLJE1) like ' +QuotedStr('%'+UpperCase(editPOJAM.Text)+'%' )+ ' order by POLJE2');
Query.Prepare;
Query.Open;

E sada, ako imam vrednosti u bazi za POLJE1 npr. Nenad Mitrovic i Jamica i kucam u editPOJAM mi, prikazace mi se oba pojma zato sto sadrze mi, prvo Jamica, a potom Nenad Mitrovic.
Meni je potrebno da se prvo prikaze Nenad Mitrovic a potom Jamica, po logici da se uzimaju pojmovi koji sadrze mi, ali, ako neki pojam ima razmak pa mi, kao sto je Mitrovic da prvo prikaze njega, pa onda ostalo.

2.
u SQL sam stavio order by POLJE2. Ako su moguce vrednosti za POLJE2 u bazi npr. 1,2,3,4 ili 5 rezultati ce se sortirati po principu prvo slogovi koji imaju 1, pa 2, pa 3, pa 4, pa 5.

E sada opet, da li postoji varijanta da neko kazem sledece:

Sortiraj po POLJE2, s tim, sto provo prikazuj ono sto ima vrednost 2, pa onda ostalo redom, sto bi znacilo da sortira sledecim redom:

2,1,3,4,5

Unapred se zahvaljujem.
 
Odgovor na temu

prginfo
NS

Član broj: 174814
Poruke: 133
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: SQL upit, IB, D200728.05.2010. u 10:15 - pre 169 meseci
Deo pod tačkom 2. sam rešio na sledeći način:

select * from TABELA where UPPER(POLJE1) like ' +QuotedStr('%'+UpperCase(editPOJAM.Text)+'%' )+ ' order by decode (POLJE2, '2',1,2), POLJE2, POLJE1

Ovako se sortira prvo po POLJE2, s tim što se prvo ispisuju slogovi gde je vrednost 2, a potom sve ostalo. Posle toga, drugi deo sortiranja ide po POLJE1.

Ovo radi ok.

DA LI NEKO IMA IDEJU ZA TAČKU 1.
PUNO BI MI ZNAČILO.

HVALA.
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: SQL upit, IB, D200728.05.2010. u 11:30 - pre 169 meseci
> potom Nenad Mitrovic. Meni je potrebno da se prvo prikaze Nenad Mitrovic a potom Jamica, po logici da se uzimaju pojmovi koji sadrze mi, ali, ako neki pojam ima razmak pa mi,
> kao sto je Mitrovic da prvo prikaze njega, pa onda ostalo.

Možeš iskombinovati preko UNION, npr:
Code:

SELECT
  NAME
FROM
  TABELA
WHERE
  NAME LIKE '% %MI%'
UNION ALL
SELECT
  NAME
FROM
  TABELA
WHERE
  NAME LIKE '%MI%' AND
  NAME NOT LIKE '% %MI%'

 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: SQL upit, IB, D200728.05.2010. u 11:44 - pre 169 meseci
Nisam probao, ali da možda probaš ovako nekako:

zanemari, nisam dobro postavio problem :) a i viidm da je kolega gore dao odgovor

[Ovu poruku je menjao captPicard dana 28.05.2010. u 13:16 GMT+1]
F
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: SQL upit, IB, D2007

[ Pregleda: 1729 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.