Autor Zpráva
galcandaniel
Profil
Dobry den, jiz delsi dobu kutim na timto selectem ale nejak se mi nedari.
SELECT * FROM (SELECT `tabulka` FROM `tabulky` WHERE `id`=id) AS tabl WHERE id_x=p_id_x;
Trochu to popisu, mam tabulku ve ktere jsou ulozeny nazvy tabulek a potrebuju na zaklade znalosti urciteho id vybrat nazev tabulky ze ktere budu delat SELECT. Dynamicky na zaklade id vybirat tabulku potrebnou pro select. Mate nekdo nejake navrhy? dekuji za odpovedi.
danek
MzM
Profil
select from (select cosi from tabx)
...
ten vnořený select nevrací název tabulky, ale dataset, ze kterého se pak dá dále vybírat. Příklad:
select jmeno
from (select jmeno + ' ' + prijmeni as jmeno from tabulka)
where <nejaka podminka>

teď select z tabulky, kterou vybereš z tabulky. :-)
Teď mě napadá akorát vybrat jedním selectem název tabulky, a poskládat v něčem externím druhý dotaz. Asi to půjde i jinak, ale teď zrovna nemůžu dojít na to jak. Teda vím, jak bych to dělal v MSSQL, předpokládám, že v MySQL to taky nějak půjde.
něco jako:
set @t='x';
select * from @t;
-- ale takhle to nejde.

zkus dokumentaci, jak na něco dojdu, tak napíšu.
galcandaniel
Profil
Asi to vyresim pomoci CASE vim jake tabulky se budou vyskytovat takze to neni takovy problem, ale pomoci vnoreneho selectu by to bylo lepsi.
MzM
Profil
..se obávám, že tohle pomocí CASE (v SQL) nepůjde...
galcandaniel
Profil
jj, vim, taky jsem na to prisel, v dokumentaci jsem zatim nic rozumneho nenasel, tak zkousim...no nic jdu patrat dal
koki
Profil *
víte někdo jaký je příkaz pro výpis určitého dne?

tento příkaz je pouze na výpis za posledních 10 dní
SELECT * FROM jmeno_tabulky WHERE stanice=5 AND typ=1 AND poradi=0 AND atime >sysdate-10;
Kajman_
Profil *
např.
atime between '2009-06-01' and '2009-06-01 23:59:59' 
Toto téma je uzamčeno. Odpověď nelze zaslat.