Mailinglisten-Archive |
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