• 6 odgovora
  • 3.940 pregleda
Problem sa union upitom 23.05.2013. u 23:34 · pre 163 meseci #1
Imam upit

select broj_karte,naziv from clanovi
UNION
select broj_karte,naziv from gosti
where broj_karte = 11/2013

dobijem rezultat
----------------------
broj_karte naziv
--------------------------------
11/2013 ime1
12/2013 ime2
17/2013 ime3
--------------------

problem je sto upit uopce ne registrira uslov u where klauzuli

probao sam sve moguce varijante i nista opet mi prikazuje sve tj kompletne podatke
obe tabele
probao sam i UNION ALL opet isto
Re: Problem sa union upitom 24.05.2013. u 00:50 · pre 163 meseci #3
Gdje trebam staviti zagrade

[Ovu poruku je menjao XGhost dana 24.05.2013. u 02:08 GMT+1]
Re: Problem sa union upitom 24.05.2013. u 09:09 · pre 163 meseci #4
Kad Bogdan spominje zagrade, on verovatno misli na implicitne zagrade.
To jest, ako ne staviš nigde zagrade onda MySQL tretira tvoj upit kao da si napisao sledeće zagrade:

Code:

(select broj_karte,naziv from clanovi)
UNION
(select broj_karte,naziv from gosti
where broj_karte = 11/2013)


Pretpostavljam da si u stvari hteo sledeće:

Code:

(select broj_karte,naziv from clanovi
where broj_karte = 11/2013)
UNION
(select broj_karte,naziv from gosti
where broj_karte = 11/2013)


Preporučio bi ti da detaljno pročitaš UNION syntax članak u dokumentaciji.
Potpis
"Common sense is not so common." - Voltaire
Re: Problem sa union upitom 24.05.2013. u 09:59 · pre 163 meseci #5
opet isto tj prikazuju se podaci ali se ne vrsi filtriranje
po where klauzuli odnosno dobijem iste podatke kao i
bez zagrade
Re: Problem sa union upitom 24.05.2013. u 10:13 · pre 163 meseci #6
Da li si napisao doslovno:

WHERE broj_karte=11/2013

Znaš, znak "/" predstavlja u matematici oznaku za deljenje, pa je to isto kao da si napisao

WHERE broj_karte=0.00546448087431693989071038251366

što je rezultat deljenja 11 sa 2013. Treba

WHERE broj_karte='11/2013'

tj.
Code (sql):

(SELECT broj_karte,naziv FROM clanovi
WHERE broj_karte = '11/2013')
UNION ALL
(SELECT broj_karte,naziv FROM gosti
WHERE broj_karte = '11/2013')
 
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme