Autor Zpráva
potapnik
Profil
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
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

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: