Forum » Programiranje » Sql poizvedba
Sql poizvedba
BRBR ::
f1 f2 f3 sdf 1 a krneki 2 a alfa 3 a sd 1 b dfg 2 b krneki 3 b beta 4 b
Tole je v eni tabeli. Poiskat je treba vse f1 kjer je f2 >= (f2 ki je zraven 'krneki')
Torej pričakovan rezultat:
krneki alfa krneki beta
- spremenil: BRBR ()
am-on ::
Nisem 100% prepričan če deluje, upam pa da bo vsaj malo v pomoč.
SELECT f1 FROM tabela WHERE f2 >= any (SELECT f2 FROM tabela WHERE f1 like "krneki")
klemenSLO ::
a ni takole najbolj enostavno:
select f1 from tabela where f2 >= 2
Life is not measured in minutes, but in MOMENTS...
sajmon ::
FTad ::
se strinjam z odgovorom od klemenSLO, in hkrati tudi mene zanima, če je med rezultati "dfg" oz zakaj ne.
BRBR ::
"dfg" ni tam ker je zraven še f3.
Torej iz vseh skupin f3, kje je v vsaki skupini f2 >= (f2 ki je zraven 'krneki')
Torej iz vseh skupin f3, kje je v vsaki skupini f2 >= (f2 ki je zraven 'krneki')
krneki0001 ::
nabereš f2 kjer je f1 enak 'krneki' in pogrupiraš po f2 in f3 da dobiš 2 polji in potem nabereš iz vsake skupine grupiranja vse, ki so po f2 enaki ali večji od f2, ki ima zraven 'krneki'
nekaj podobnega temu:
nekaj podobnega temu:
SELECT B.f2,COUNT(*) AS CNT FROM ( select F1,F3 from Test where F2='B' )AS A INNER JOIN Test AS B ON A.F1 = B.F1 AND A.F3 = B.F3 GROUP BY B.F2 ORDER BY CNT DESC
Zgodovina sprememb…
- spremenilo: krneki0001 ()
krneki0001 ::
Mislim daq je rešitev v tej knjigi:
Joe Celko's SQL for Smarties: Advanced SQL Programming
Joe Celko's SQL for Smarties: Advanced SQL Programming
krneki0001 ::
Ne, dfg ne sme biti zraven.
grupiraj še po f3 in za vsak f3 izberi vse ki so večji ali enaki f2 ki ima v f1 krneki.
grupiraj še po f3 in za vsak f3 izberi vse ki so večji ali enaki f2 ki ima v f1 krneki.
zgubar ::
čist enostavno
select x.f1 from tblx x
left join tblx y on x.f3 = y.f3
where y.f1 = 'krneki'
and x.f2 > = y.f2
select x.f1 from tblx x
left join tblx y on x.f3 = y.f3
where y.f1 = 'krneki'
and x.f2 > = y.f2
zgubar ::
Nisi pa nič povedal, če je v tabeli lahko samo en 'krneki' za vsako grupo f3?
Če je vedno samo en, potem je to to, če jih je lahko pa več potem moraš pa povedat katerega je potrebno upoštevati pri rezultatu?
Če je vedno samo en, potem je to to, če jih je lahko pa več potem moraš pa povedat katerega je potrebno upoštevati pri rezultatu?
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | sqlOddelek: Programiranje | 1012 (717) | Miha 333 |
» | SQL programiranjeOddelek: Programiranje | 1179 (869) | slitkx |
» | db poizvedbaOddelek: Programiranje | 1285 (919) | WarpedGone |
» | mysql, insert, values, selectOddelek: Programiranje | 1825 (1652) | slosi |
» | MySQL Query VprašanjeOddelek: Izdelava spletišč | 3213 (2978) | overlord_tm |