phpbar.de logo

Mailinglisten-Archive

Hilfe

Hilfe

mysql-de_(at)_lists.bttr.org mysql-de_(at)_lists.bttr.org
Tue, 19 Mar 2002 11:02:09 +0100


hallo ng.

ich habe da ein problem. könnt ihr  mir weiterhelfen.

Folgende Tabellen:

Tbl_Werte (w):
id 		->pkey
zeit 		->timestamp
wert1		->double
wert2		->double
wert3		->double


Tbl_Wertmanipulation (m):
id 		->pkey
startzeit	->timestamp
endzeit		->timestamp
feldname	->varchar
gueltigvon	->double
gueltigbis	->double
wert		->double


Ich brauch ein SQLstring der mir ALLE DS aus Tbl_Werte anzeigt.
Wenn die w.Zeit zwischen m.startzeit und m.endzeit liegt und m.feldname =
w.Name_des_Feldes (wenn möglich  dynamisch) und der Wert des
w.Wert_des_Feldes zwischen m.gueltigvon und m.gueltigbis liegt dann soll der
w.Wert_des_Feldes mit m.wert addiert werden.
Es kann auch vorkommen das ein DS aus 'w' nicht in 'm' passt. dieser DS soll
dann ganz normal ausgelesen werden.
hier mal ein beispiel einiger DS

Tbl_Werte (w)
id	zeit			wert1	wert2	wert3
1	2002-01-01 10:00:00	3	22	120
2	2002-01-01 22:00:00	5	24	140
3	2002-01-02 10:00:00	5	16	110
4	2002-01-02 22:00:00	3	14	80
5	2002-01-03 10:00:00	4	18	100
6	2002-01-03 22:00:00	4	18	100
7	2002-01-04 10:00:00	5	24	130
8	2002-01-04 22:00:00	6	26	140
9	2002-01-05 10:00:00	5	26	120
10	2002-01-05 22:00:00	4	22	100
11	2002-01-06 10:00:00	3	22	110
12	2002-01-06 22:00:00	2	18	80

Tbl_Wertmanipulation (m):

id	startzeit		endzeit			feldname	gueltig gueltig wert
									von	bis
1	2002-01-01 08:00:00	2002-01-03 23:00:00	wert2		10	19.99	0.25
2	2002-01-01 08:00:00	2002-01-03 23:00:00	wert2		20	30	0.5
3	2002-01-01 08:00:00	2002-01-03 23:00:00	wert3		60	119.99	5
4	2002-01-01 08:00:00	2002-01-03 23:00:00	wert3		120	160	15
5	2002-01-05 08:00:00	2002-01-06 23:00:00	wert1		1	2.99	0.125
6	2002-01-05 08:00:00	2002-01-06 23:00:00	wert1		3	6	0.25
7	2002-01-05 08:00:00	2002-01-06 23:00:00	wert2		10	20	0.75
8	2002-01-05 08:00:00	2002-01-06 23:00:00	wert3		100	120	25

Das ergebnis sollte dann später so aussehen
id	zeit			wert1	wert2	wert3
1	2002-01-01 10:00:00	3	22.5	135
2	2002-01-01 22:00:00	5	24.5	155
3	2002-01-02 10:00:00	5	16.25	115
4	2002-01-02 22:00:00	3	14.25	85
5	2002-01-03 10:00:00	4	18.25	105
6	2002-01-03 22:00:00	4	18.25	105
7	2002-01-04 10:00:00	5	24	130
8	2002-01-04 22:00:00	6	26	140
9	2002-01-05 10:00:00	5.25	26	145
10	2002-01-05 22:00:00	4.25	22	125
11	2002-01-06 10:00:00	3.25	22	135
12	2002-01-06 22:00:00	2.125	18.75	80

kann mir jemand bei dem Sqlstring helfen. wenn möglich sollte es mit einem
string funktionieren.
Ist das überhaupt lösbar?

vielen dank für eure tipps und hilfe.

mfg
nicola di fabrizio

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive