Autor | Zpráva | ||
---|---|---|---|
potapnik Profil |
#1 · Zasláno: 18. 1. 2012, 13:27:40
Zdravím,
zřejmě mám asi špatný návrh databáze, nebo nevím jak na to, jelikož v žádným případě expert na databáze nejsem, ale řeším následující. Mám tabulku, která je asi takováto: table1 id | project_name | output ============= table2 id | table1_id | rok | leden | unor | brezen ============= table3 id | table1_id | leden | unor | brezen ============= Nyní potřebuju například vypsat data s následujícími vstupními parametry: pro všechny záznamy z table1 potřebuju vypsat rok 2011 z tabulky dvě, kdy výstupní hodnoty (leden, unor, brezen) jsou upraveny tak, aby byly vyděleny výkonem (output) a zároveň vyděleny stejným typem záznamu (leden, unor, brezen) z tabulky tři se stejným přiřazeným id tabulky 1. Lze to vůbec nějak jednoduše udělat v jednom selectu? Případně jak mám líp navrhnout databázi? Díky moc za jakékoli rady :-) |
||
Kajman Profil |
#2 · Zasláno: 18. 1. 2012, 19:37:21
U tabulky 2 a 3 bude možná lepší dávat údaje k jednotlivým měsícům do samostatných řádků.
Jinak dělení sql umí... select t1.*, (t2.mesic/t1.output)/t3.mesic vysledek from table1 t1 join table2 t2 on t1.id=t2.table1_id and t2.rok=2011 join table3 t3 on t1.id=t3.table1_id |
||
Časová prodleva: 12 let
|
0