[ kandelabr @ 03.06.2008. 12:43 ] @
Zanima me jel moze nekako da se napise sledeci tip upita u mysql:

Code:


  if(uslov) then select * from tabela1 where .... 
  else select * from tabela2 where ...



Hvala unapred na odgovuru.
[ bags @ 03.06.2008. 12:58 ] @
Mislim da tako nesto u SQL upitu nije moguce.

Postoji if ali on ti sluzi da manipulises sa dobijenim rezultatima ,mada je i u tom slucaju bolje koristiti CASE jer on je standardan.

Zasto to ti treba u stvari ovako nesto?
[ kandelabr @ 03.06.2008. 13:08 ] @
Pa razmisljao sam nesto u vezi search, recimo ako se ukucaju 2 reci u search polje pa ako se u nadju obe da se iz baze izbace samo one kolone koje sadrze obe, a ako takvih nema da se onda izbace sve kolone koje sadrze ili jednu ili drugu rec.
[ BluesRocker @ 03.06.2008. 13:21 ] @
Mozes sa unijom
Code:

select * from table where field like '%first%' and field like '%second%'
union
select * from table where field like '%first%' or field like '%second%'
[ Schmidt @ 03.06.2008. 13:27 ] @
Mislim da cje taj or da napregne bazu, nisam siguran, treba testirati s njim i bez njega.
[ kandelabr @ 03.06.2008. 13:37 ] @

Citat:
BluesRocker: Mozes sa unijom
Code:

select * from table where field like '%first%' and field like '%second%'
union
select * from table where field like '%first%' or field like '%second%'


Da ali ovako ce da izbaci sve kolone koje imaju ili jedno ili drugo, a ja bih hteo da mi izbaci samo one koje imaju oba, ako takve postoje, a tek ako ne onda moze ili jedno ili drugo.
[ BluesRocker @ 03.06.2008. 14:33 ] @
A da probas ovako:
Code:

select * from table where field like '%first%' and field like '%second%'
union
select * from table where (field like '%first%' or field like '%second%') and (select count(*) from table where field like '%first%' and field like '%second%') = 0

Ovako nesto ne bih preporucio, mnogo je lepse da se uslov uradi u nekom programskom jeziku.
[ Schmidt @ 03.06.2008. 14:36 ] @
prouchi full text search, ima sve shto ti treba u njoj...