Avatar
petr.chatar.anton:

Ahoj,
mám v MS SQL serveru sadu (12) stejných tabulek, každá obsahuje data za jeden měsíc. Tabulka pro každý měsíc ale vzniká až v daném měsíci. Lze udělat dotaz (nebo pohled), který mi spojí data ze všech 12 tabulek dohromady, ale nebude řvát, že mu některá tabulka chybí? V únoru by mi ukázal data z tabulek 01 a 02, v listopadu 01 až 11.
Předem díky za odpovědi.

 
Odpovědět 23.4.2015 10:14
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na petr.chatar.anton
David Čápka:

Už jen ta první věta "Mám v MS SQL serveru sadu (12) stejných tabulek" signalizuje, že je něco špatně. Pokud těch řádků nejsou miliony, tak mají být v jedné tabulce a každý má mít do kterého měsíce patří. Problém, na který narážíš, vyplývá ze špatného návrhu databáze. Ideálně to dej do jedné tabulky, pokud to máš tak divně z výkonnostních důvodů, tak si udělej další tabulku, kde si ukládej které tabulky jsou vytvořené. Potom dotaz jednoduše sestavíš podle toho a nic ni nebude chybět.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 23.4.2015 10:20
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
petr.chatar.anton:

Vím, že to není ideální, ale takhle to má ten software, ze kterého si data tahám.

 
Nahoru Odpovědět 23.4.2015 10:31
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na petr.chatar.anton
David Čápka:

Aha, to je pak radost s něčím takovým pracovat :) Ještě si můžeš pohrát s tímhle:

SELECT * FROM information_schema.tables

Mělo by to vrátit názvy vytvořených tabulek, z toho by to taky mohlo jít poznat.

Nahoru Odpovědět 23.4.2015 10:50
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
petr.chatar.anton:

Já na to půjdu jinudy, v programu se stejně uživatele ptám, které období zpracovává, z toho údaje si pak sestavím dotaz. Myslel jsem si, že bych se tomu sestavování vyhnul, pokud by existovala možnost udělat "univerzální" dotaz :-).
Každopádně díky moc.

 
Nahoru Odpovědět 23.4.2015 11:28
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.