Auto HI-FI Club CZ

autohifi,auto hi-fi,auto hifi,autohificlub,auto hi-fi club,club, klub,fórum,autorádio,autozesilovač,autorádio cd,autorádio mp3,autorádio dvd, tuning,srazy,tuningshow,klub,emma,dbdrag,tuning,autotuning,carstyling, tlumeni, Alpine,octavia,Brax,Denon,Clarion,Pioneer,Sony,panasonic,Helix, Dynamat,dego,Hertz,Audison,Fusion,McIntosh,Focal,Rockford Fosgate,Dynaudio,JBL,xenony,becker,jvc,kenwood,ground zero,dietz,morel doorboardy ,zapojeni,felicia,pioneer,peugeot,zastavba,audio,306,repro,golf,instalace,dls,4x100,FELICIE,morpheus,helix,audi(forum)

o

Forum > Ostatní > dotaz SQL znalci

 o Navštíveno 853x o
o 22.11.2011, 14:45 | Šestikule
Mám klasický dotaz SELECT do databáze, tj.

SELECT column_name(s) FROM table_name

a moje otázka je: musím přesně specifikovat table_name anebo existuje nějaká metoda, jak použít pro název tabulky wildcard? tj. třeba

SELECT column_name(s) FROM stromky_%

přičemž by mi to projelo tabulky stromky_listnate, stromky_jehlicnate, stromky_naprd, .... ??? Dotazované sloupce jsou samozřejmě ve všech těch tabulkách.


o 22.11.2011, 14:52 | X-sat (M)
Nebude lepší

SELECT column_name(s) FROM stromky_*

(hvězdička)

?
o 22.11.2011, 14:54 | LordPeytl
MySQL to neumi, ale da se to realizovat tak, ze si z INFORMATION_SCHEMA vytahnes nazvy tech tabulek.
[ Link ]
o 22.11.2011, 14:54 | KFL
Co je to za datošku? MSSQL? MySQL? Internet už nefunguje? :)

[ Link ]
[ Link ]
o 22.11.2011, 15:00 | Šestikule
KFL: MS SQL, na netu jsem právě zatím nic nenašel, ty tvoje linky jsou na wildcard u LIKE, ale to neřeším, tam je to jasný.

LordPeytl: díky, dalo by se to využít
o 22.11.2011, 15:11 | Šestikule
LordPeytl: paráda, funguje

Takže kdyby někdo potřeboval, pro MS SQL to je pro můj příklad:

select * from sys.tables where name like '%stromky%'
o 22.11.2011, 15:19 | giuseppe
dobré, třeba se bude hodit...;-)
o 22.11.2011, 15:21 | giuseppe
..ale nevrátí Ti select z těch tabulek, nebo takhle jsi to chtěl?
o 22.11.2011, 15:24 | Šestikule
úplně takhle jsem to sice nechtěl, ale aspoň získám názvy všech potřebných tabulek a z těch názvů pak postavím selecty do jednotlivých tabulek.
Jako kdyby to šlo napřímo a rovnou to vyhodilo výsledek z tabulek, tak by to bylo super, ale zatím jsem takové řešení nenašel a touto oklikou to jde realizovat taky.
o 22.11.2011, 18:17 | shamania
Kdyz uz mas seznam tabulek, tak nevytvarej dotaz do kazdy tabulky, ale udelej jeden velkej
SELECT * FROM stromky_listnate, stromky_jehlicnate, atd
Ale pozor, budes muset pojmenovat jeste nazvy sloupcu, vzhledem k tomu, ze v kazde tabulce je sloupec NAZEV, takze:
SELECT stromky_listnate.nazev nazevlistnate, stromky_jehlicnate.nazev nazevjehlicnate, atd FROM ...

No a jinak je to blbe navrzena DB, vsechny stromy maj bejt v jedny tabulce :)
o 22.11.2011, 18:40 | tmx.806
no, to uz bych radsi udelal union s nejakou konstantou jako identifikaci tabulky...
o 22.11.2011, 19:32 | Šestikule
shamania: jj, db je kokotsky navržená, takhle zprasenou strukturu jsem ještě neviděl a to to dělala profi firma. Leč překopání do inteligentní struktury je nyní nemožné.
o 23.11.2011, 13:09 | mrazik
No zalezi co potrebujes, pokud maji tabulky stejne sloupce a potrebujes jeden velky vysledek, tak spojit pres UNION ALL :
select * from stromky_listnate
UNION ALL
select * from stromky_jehlicnate
atd.

To co pises na zacatku lze udelat pres kursor, kde si do nej nactes nazvy tabulek a pak do temporary se hodi vzledek selectu atd.
Kdyby neco napis, dame to dohromady.
o  Zpět  o  Nahoru
o
 

Vložit nový příspěvek do fóra


  Pro vložení příspěvku musíte být přihlášen/a.
Stránka vygenerována za 0.4899 sekund.