SQL pitanje

Bg8333

Ističe se
Poruka
2.383
Zelim recimo da selektujem nesto iz tabele, i recimo da su jednoj koloni imena a u drugoj prezimena. Ja zelim da selektujem sve imena Aca primera radi , sa bilo kojim prezimenom. Ali tako da prezime mora da stoji u SQL STEJTMENTU.

Dakle

"select * from tabela where ime='aca' and prezime=....sta treba da stoji iza prezimena sto bi oznacilo sve ili bilo sta???
 
maksvel:
Zašto ti treba prezime u iskazu, ako ti nije važno??

Zato sto imam forumular za pretrazivanja, znaci korisnik moze a i ne mora da upise neko polje, ako ne upise znaci da korisniku nije vazno. Znam kako bi to mogao da resim sa IF-om ali je to predugacak kod, ako moze ovako direktno preko sql-a radije bi to tako uradio.
 
mislis prezime je unapred definisano ili sta?
npr, ako ne upise vrednost, za vrednost stoji "NIJE UNETO" ili neso slicno...
u tom slucaju postavi DEFAULT vrednost za dato polje pri pralvjenju tabele...
dakle
prezime varchar (30) DEFAULT 'nema prezimena'
 
Obersturmfuehrer:
mislis prezime je unapred definisano ili sta?
npr, ako ne upise vrednost, za vrednost stoji "NIJE UNETO" ili neso slicno...
u tom slucaju postavi DEFAULT vrednost za dato polje pri pralvjenju tabele...
dakle
prezime varchar (30) DEFAULT 'nema prezimena'

Ne razumes ti mene. Ja te vrednosti iz 10 polja medju kojima je ime , prezime, visina, tezina. godine i ostalo prosledjujem bazi podataka, tacnije oni ucestvuju u izgradnji SQL-atejtmenta po sistemu

sql = "select * from clanovi where ime=" & imek & " " & "and prezime=" & prezk itd itd itd

ovim se izgradi jedan sql

onda ja aktiviram taj sql u programu radi se o ASP-u

u koliko korisni unese sva polja nije frka normalno se izgradi sgl

ako ne unese sve polja to je ono sto me muci, sta se onda prosledjuje SQL-u da mu kaze da to polje nije bitno
 
Prvo, ako vec sastavljas upit iz stringova onda ti nije problem da sa ifovima kontrolises sta ce ti uci u WHERE uslov
Drugo, ti hoces ovo: select ime, prezime from tabela where (ime=:arg1 or :arg1 is null) and (prezime...) ali ni ovo nije savrseno (ovo usporava).
Trece, razmisli o LIKE umesto =.
Ono sa ifovima je najbolje.
 
AcaBg82:
Ne razumes ti mene. Ja te vrednosti iz 10 polja medju kojima je ime , prezime, visina, tezina. godine i ostalo prosledjujem bazi podataka, tacnije oni ucestvuju u izgradnji SQL-atejtmenta po sistemu

sql = "select * from clanovi where ime=" & imek & " " & "and prezime=" & prezk itd itd itd

ovim se izgradi jedan sql

onda ja aktiviram taj sql u programu radi se o ASP-u

u koliko korisni unese sva polja nije frka normalno se izgradi sgl

ako ne unese sve polja to je ono sto me muci, sta se onda prosledjuje SQL-u da mu kaze da to polje nije bitno


Ti ocigledno trebas ovako nesto:

Kod:
'Primer
Dim imeForma
imeForma = "Petar"
Dim prezimeFroma
prezimeFroma = "Petrovic"
Dim SQLUslov
SQLUslov = ""
Dim datum
datum ="10/12/2006"

If prezimeFroma <> "" Then
SQLUslov = SQLUslov & " AND prezime = '" & prezimeFroma & "'"
Else
SQLuslov = SQLuslov
End If

If datum <> "" Then
SQLUslov = SQLUslov & " AND datum = '" & datum & "'"
Else
SQLuslov = SQLuslov
End If

Dim sql
sql=  "SELECT * FROM clanovi WHERE ime='"& imeForma & "'" & SQLUslov



Znaci na osnovu ispunjenog uslova kreiras SQL query...


Poz
sale
 

Back
Top