Query generujúce riadky z rozsahu od - do – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Query generujúce riadky z rozsahu od - do – MySQL – Fórum – Programujte.comQuery generujúce riadky z rozsahu od - do – MySQL – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Prog.0
Věrný člen
26. 11. 2008   #1
-
0
-

Pokúsim sa to čo najviac zovšeobecniť:

Chcem vypísať dáta z určitého rozsahu prvkov - napríklad 1 až 9. Data mám v tabuľke t_data, no nemusí v nej byť záznam pre každý prvok. Chcem query, ktoré vypíše pre každý prvok z rozsahu jeden riadok, aj keď preň dáta neexistujú.

Tu je príklad, ako to riešim teraz - pomocou pomocnej tabuľky, ktorú musím vygenerovať tak, že obsahuje všetky prvky rozsahu:

SELECT t_items.N,                   t_items     t_data         

t_data.Hodnota +---+ +---+---------+
FROM t_items LEFT JOIN t_data | N | | N | Hodnota |
ON t_items.N = t_data.N +---+ +---+---------+
| 1 | | 1 | 3 |
+---+---------+ | 2 | | 5 | 4 |
| N | Hodnota | | 3 | | 8 | -5 |
+---+---------+ | 4 | +---+---------+
| 1 | 3 | | 5 |
| 2 | | | 6 |
| 3 | | | 7 |
| 4 | 4 | | 8 |
| 5 | | | 9 |
| 6 | | +---+
| 7 | |
| 8 | -5 |
| 9 | |
+---+---------+

Vedel by mi niekto poradiť ako dosiahnuť rovnaký výsledok bez tej pomocnej tabuľky?

Napadá ma, ak by som vedel napísať query, koré by takúto tabuľku vygenerovalo, dala by sa použiť ako sub-query.
Niečo ako "SELECT 1 až 9"...existuje niečo také?


Nahlásit jako SPAM
IP: 213.160.186.–
Prog.
Reklama
Reklama
KIIV+42
God of flame
26. 11. 2008   #2
-
0
-

To Prog. : no ne ze by to bylo zrovna idealni reseni tak jak bys rad...
co mit vsechny hodnoty rovnou v te prvni tabulce? jen ty ktere nemaji hodnotu budou mit NULL
vyjde ti to same ze selectu jako z toho spojeni tabulek ale usetris zatez databaze...
precijen to spojovani neni zrovna nenarocny (obzvlaste pokud bys nemel indexy)

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Prog.0
Věrný člen
26. 11. 2008   #3
-
0
-

To KIIV :

Ide o to, že chcem uživateľovi podhodiť tabuľku, kde bude mať dátumy - dni (prvky) a vedľa nich určitým spôsobom spracované dáta. A chcem aby tam boli dni všetky, aj tie, pri ktorých dáta niesú. Myslel som že to poriešim priamo v mysql, ale...

Rád by som to urobil ako navrhuješ, lenže problém je, že samotné dáta sú rozhádzané po iných rôznych tabuľkách, kde sa na daný dátum odkazujú. Čiže by som potreboval v jednej z tých tabuliek kontrolovať prázdne dni, a dopĺňať prázdne záznami s odkazmi na tieto dni. To mi už príde jednoduchšie zbúchať tú tabuľku s jedným stĺpcom a zoradenými dátumami pre rozsah odkedy dáta začínajú až niekoľko rokov dopredu, čo nebude zas také strašné množstvo riadkov...

Našiel som chlapíka, čo riešil zhruba to isté, ale na tej stránke sa odpovede bez platenia asi nedopátram...
http://www.experts-exchange.com/Microsoft/Development/MS_Access/Q_23311333.html

Jou, a ešte ma napadá, že by to šlo riešiť tak, že mysql mi vráti iba riadky s dátami a pri výpise ich budem kontrolovať, či medzi nimi neexistujú prázdne dni, a ak hej, tak ich ručnevypíšem... ...čo asi nebude sranda napísať vo visual basicu :-D

Nahlásit jako SPAM
IP: 213.160.186.–
Prog.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

Podobná vlákna

Textarea riadky — založil User

Nepárne riadky... — založil Root

Memo: riadky — založil aliann

Query string — založil 3bit

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý