Autor | Zpráva | ||
---|---|---|---|
galcandaniel Profil |
#1 · Zasláno: 6. 6. 2007, 09:39:33
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 |
#2 · Zasláno: 6. 6. 2007, 10:01:46
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 |
#3 · Zasláno: 6. 6. 2007, 10:25:48
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 |
#4 · Zasláno: 6. 6. 2007, 10:52:13
..se obávám, že tohle pomocí CASE (v SQL) nepůjde...
|
||
galcandaniel Profil |
#5 · Zasláno: 6. 6. 2007, 11:08:05
jj, vim, taky jsem na to prisel, v dokumentaci jsem zatim nic rozumneho nenasel, tak zkousim...no nic jdu patrat dal
|
||
Časová prodleva: 2 roky
|
|||
koki Profil * |
#6 · Zasláno: 1. 6. 2009, 10:18:27
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 * |
#7 · Zasláno: 1. 6. 2009, 10:38:47
např.
atime between '2009-06-01' and '2009-06-01 23:59:59' |
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0