Monday, 10. July 2006, 17:23:59
2006-08-31:The main view:create view sport_journal as select sql_no_cache `training_journal_laufen`.`datum` AS `datum`,unix_timestamp(`training_journal_laufen`.`datum`) AS `unixtime`,`koerperwerte_journal`.`hf_ruhe` AS `hf_ruhe`,time_format(sec_to_time(SUM(time_to_sec(`training_journal_laufen`.`dauer`))),_utf8'%k:%i') AS `dauer`,if((`training_journal_laufen`.`strecke_id` is not null),1,0) AS `has_strecke`,SUM(coalesce(`training_strecke`.`laenge`,`training_journal_laufen`.`laenge`)) AS `laenge`,round(avg((coalesce(`training_strecke`.`AA`,`training_journal_laufen`.`AA`) / 100)),2) AS `aa`,coalesce(`training_strecke`.`name`,NULL) AS `strecke_name`,coalesce(`training_strecke`.`beschreibung`,NULL) AS `strecke_beschreibung`,coalesce(`training_strecke`.`hm_kum_rauf`,NULL) AS `strecke_hm_kum_rauf`,coalesce(`training_strecke`.`hm_kum_runter`,NULL) AS `strecke_hm_kum_runter`,`training_journal_laufen`.`type` AS `art`,time_format( sec_to_time( sum(time_to_sec(`training_journal_laufen`.`dauer`)) / SUM(coalesce(`training_strecke`.`laenge`,`training_journal_laufen`.`laenge`)) ),_utf8'%i:%s') AS `min/km`,`training_journal_laufen`.`hr_avg` AS `hf_avg`,`training_journal_laufen`.`hr_max` AS `hf_max`,round((((coalesce(`training_strecke`.`laenge`,`training_journal_laufen`.`laenge`) * ((coalesce(`training_strecke`.`laenge`,`training_journal_laufen`.`laenge`) * 1000) / (time_to_sec(`training_journal_laufen`.`dauer`) / 60))) * 206) / ((206 - `training_journal_laufen`.`hr_avg`) * 220)),0) AS `greif`,round(((time_to_sec(`training_journal_laufen`.`dauer`) / 60) * ((`training_journal_laufen`.`hr_avg` - `koerperwerte_journal`.`hf_ruhe`) / (206 - `koerperwerte_journal`.`hf_ruhe`))),0) AS `banister`,coalesce(`training_wetter`.`icao`,NULL) AS `icao`,coalesce(`training_wetter`.`time`,NULL) AS `time`,coalesce(`training_wetter`.`metar`,NULL) AS `metar`,coalesce(`training_running_schuh`.`name`,NULL) AS `schuh_name`,coalesce(year(`training_running_schuh`.`kauf_datum`),NULL) AS `schuh_jahr` from ((((`training_journal_laufen` left join `koerperwerte_journal` on((cast(`koerperwerte_journal`.`datum` as date) = cast(`training_journal_laufen`.`datum` as date)))) left join `training_strecke` on((`training_journal_laufen`.`strecke_id` = `training_strecke`.`id`))) left join `training_wetter` on((`training_wetter`.`id` = `training_journal_laufen`.`wetter_id`))) left join `training_running_schuh` on((`training_running_schuh`.`id` = `training_journal_laufen`.`schuh_id`))) where 1 group by `training_journal_laufen`.`datum` order by `training_journal_laufen`.`datum` desc;
The most important table definitions:-- phpMyAdmin SQL Dump
-- version 2.8.2
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Sep 01, 2006 at 12:43 PM
-- Server version: 5.0.24
-- PHP Version: 5.1.4-pl6-gentoo
--
-- Database: `cprior`
--
-- --------------------------------------------------------
--
-- Table structure for table `koerperwerte_journal`
--
CREATE TABLE `koerperwerte_journal` (
`id` int(10) unsigned NOT NULL auto_increment,
`datum` datetime NOT NULL default '0000-00-00 00:00:00',
`schlaf` time default NULL,
`gewicht` float default NULL,
`hf_ruhe` tinyint(4) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=86 DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `training_journal_laufen`
--
CREATE TABLE `training_journal_laufen` (
`id` int(11) NOT NULL auto_increment,
`datum` datetime NOT NULL default '0000-00-00 00:00:00',
`dauer` time NOT NULL default '00:00:00',
`wetter_id` int(11) default NULL,
`type` enum('Reg','LDL','mDL','Tempo','LR','WK') default NULL,
`strecke_id` int(11) default NULL,
`km` float default NULL,
`laenge` decimal(5,2) unsigned default NULL,
`AA` smallint(6) default NULL,
`hr_max` mediumint(9) default NULL,
`hr_avg` mediumint(9) default NULL,
`schuh_id` varchar(6) NOT NULL,
`diverses` varchar(255) default NULL,
`notiz` varchar(255) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `training_laufen_schuh`
--
CREATE TABLE `training_laufen_schuh` (
`id` varchar(6) NOT NULL,
`name` varchar(128) NOT NULL,
`km-korrektur` int(11) NOT NULL,
`preis` float NOT NULL,
`kauf_datum` date NOT NULL,
`verkaeufer` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `training_running_schuh`
--
CREATE TABLE `training_running_schuh` (
`id` varchar(6) NOT NULL,
`name` varchar(128) NOT NULL,
`km-korrektur` int(11) NOT NULL,
`preis` float NOT NULL,
`kauf_datum` date NOT NULL,
`verkaeufer` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `training_strecke`
--
CREATE TABLE `training_strecke` (
`id` int(11) NOT NULL auto_increment,
`kuerzel` varchar(32) NOT NULL,
`name` varchar(64) default NULL,
`beschreibung` varchar(255) NOT NULL,
`laenge` decimal(4,2) default NULL,
`hm_kum_rauf` mediumint(9) default NULL,
`hm_kum_runter` mediumint(9) default NULL,
`AA` smallint(6) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `kuerzel` (`kuerzel`)
) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `training_wetter`
--
CREATE TABLE `training_wetter` (
`id` int(11) NOT NULL auto_increment,
`icao` char(4) NOT NULL,
`time` datetime NOT NULL,
`metar` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `sport_journal`
--
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `cprior`.`sport_journal` AS select sql_no_cache `cprior`.`training_journal_laufen`.`datum` AS `datum`,unix_timestamp(`cprior`.`training_journal_laufen`.`datum`) AS `unixtime`,`cprior`.`koerperwerte_journal`.`hf_ruhe` AS `hf_ruhe`,time_format(sec_to_time(sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`))),_utf8'%k:%i') AS `dauer`,if((`cprior`.`training_journal_laufen`.`strecke_id` is not null),1,0) AS `has_strecke`,sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) AS `laenge`,round(avg((coalesce(`cprior`.`training_strecke`.`AA`,`cprior`.`training_journal_laufen`.`AA`) / 100)),2) AS `aa`,coalesce(`cprior`.`training_strecke`.`name`,NULL) AS `strecke_name`,coalesce(`cprior`.`training_strecke`.`beschreibung`,NULL) AS `strecke_beschreibung`,coalesce(`cprior`.`training_strecke`.`hm_kum_rauf`,NULL) AS `strecke_hm_kum_rauf`,coalesce(`cprior`.`training_strecke`.`hm_kum_runter`,NULL) AS `strecke_hm_kum_runter`,`cprior`.`training_journal_laufen`.`type` AS `art`,time_format(sec_to_time((sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`)) / sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)))),_utf8'%i:%s') AS `min/km`,`cprior`.`training_journal_laufen`.`hr_avg` AS `hf_avg`,`cprior`.`training_journal_laufen`.`hr_max` AS `hf_max`,round((((coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`) * ((coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`) * 1000) / (time_to_sec(`cprior`.`training_journal_laufen`.`dauer`) / 60))) * 206) / ((206 - `cprior`.`training_journal_laufen`.`hr_avg`) * 220)),0) AS `greif`,round(((time_to_sec(`cprior`.`training_journal_laufen`.`dauer`) / 60) * ((`cprior`.`training_journal_laufen`.`hr_avg` - `cprior`.`koerperwerte_journal`.`hf_ruhe`) / (206 - `cprior`.`koerperwerte_journal`.`hf_ruhe`))),0) AS `banister`,coalesce(`cprior`.`training_wetter`.`icao`,NULL) AS `icao`,coalesce(`cprior`.`training_wetter`.`time`,NULL) AS `time`,coalesce(`cprior`.`training_wetter`.`metar`,NULL) AS `metar`,coalesce(`cprior`.`training_running_schuh`.`name`,NULL) AS `schuh_name`,coalesce(year(`cprior`.`training_running_schuh`.`kauf_datum`),NULL) AS `schuh_jahr` from ((((`cprior`.`training_journal_laufen` left join `cprior`.`koerperwerte_journal` on((cast(`cprior`.`koerperwerte_journal`.`datum` as date) = cast(`cprior`.`training_journal_laufen`.`datum` as date)))) left join `cprior`.`training_strecke` on((`cprior`.`training_journal_laufen`.`strecke_id` = `cprior`.`training_strecke`.`id`))) left join `cprior`.`training_wetter` on((`cprior`.`training_wetter`.`id` = `cprior`.`training_journal_laufen`.`wetter_id`))) left join `cprior`.`training_running_schuh` on((`cprior`.`training_running_schuh`.`id` = `cprior`.`training_journal_laufen`.`schuh_id`))) where 1 group by `cprior`.`training_journal_laufen`.`datum` order by `cprior`.`training_journal_laufen`.`datum` desc;
-- --------------------------------------------------------
--
-- Table structure for table `sport_schuhverbrauch`
--
CREATE ALGORITHM=UNDEFINED DEFINER=`cpr`@`localhost` SQL SECURITY DEFINER VIEW `cprior`.`sport_schuhverbrauch` AS select `cprior`.`training_laufen_schuh`.`name` AS `Schuh`,count(0) AS `Anz`,(sum(`cprior`.`training_journal_laufen`.`km`) + `cprior`.`training_laufen_schuh`.`km-korrektur`) AS `SUM(km)` from (`cprior`.`training_journal_laufen` join `cprior`.`training_laufen_schuh` on((`cprior`.`training_laufen_schuh`.`id` = `cprior`.`training_journal_laufen`.`schuh_id`))) group by `cprior`.`training_journal_laufen`.`schuh_id`;
-- --------------------------------------------------------
--
-- Table structure for table `sport_statistics_monthly_current_year`
--
CREATE ALGORITHM=UNDEFINED DEFINER=`cpr`@`localhost` SQL SECURITY DEFINER VIEW `cprior`.`sport_statistics_monthly_current_year` AS select sql_no_cache month(`cprior`.`training_journal_laufen`.`datum`) AS `monat`,count(0) AS `anz`,sec_to_time(sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`))) AS `monat.SUM(dauer)`,round((sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`)) / (select sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`)) AS `sum(time_to_sec(``dauer``))` from `cprior`.`training_journal_laufen`)),2) AS `monat.%(dauer)`,round(sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)),1) AS `monat.SUM(laenge)`,round((sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) / (select sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) AS `sum(``laenge``)` from (`cprior`.`training_journal_laufen` left join `cprior`.`training_strecke` on((`cprior`.`training_journal_laufen`.`strecke_id` = `cprior`.`training_strecke`.`id`))))),2) AS `monat.%(laenge)`,round(((sum(((coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`) * `cprior`.`training_journal_laufen`.`AA`) / 100)) / sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`))) * 100),1) AS `asphalt.%(laenge)`,round((((sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) * ((sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) * 1000) / (sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`)) / 60))) * 200) / ((200 - avg(`cprior`.`training_journal_laufen`.`hr_avg`)) * 220)),0) AS `greif`,max(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) AS `MAX(laenge)`,min(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) AS `MIN(laenge)` from (`cprior`.`training_journal_laufen` left join `cprior`.`training_strecke` on((`cprior`.`training_journal_laufen`.`strecke_id` = `cprior`.`training_strecke`.`id`))) where (year(`cprior`.`training_journal_laufen`.`datum`) = year(now())) group by month(`cprior`.`training_journal_laufen`.`datum`) order by month(`cprior`.`training_journal_laufen`.`datum`) desc;
-- --------------------------------------------------------
--
-- Table structure for table `sport_statistics_weekly`
--
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `cprior`.`sport_statistics_weekly` AS select week(cast(`cprior`.`training_journal_laufen`.`datum` as date),0) AS `kw`,min(`cprior`.`training_journal_laufen`.`datum`) AS `MIN(datum)`,max(`cprior`.`training_journal_laufen`.`datum`) AS `MAX(datum)`,unix_timestamp(min(`cprior`.`training_journal_laufen`.`datum`)) AS `MIN(unixtime)`,unix_timestamp(max(`cprior`.`training_journal_laufen`.`datum`)) AS `MAX(unixtime)`,count(distinct `cprior`.`training_journal_laufen`.`datum`) AS `anz`,sec_to_time(sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`))) AS `dauer`,round(sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)),1) AS `SUM(laenge)`,round(avg(coalesce(`cprior`.`training_strecke`.`AA`,`cprior`.`training_journal_laufen`.`AA`)),0) AS `AVG(aa)`,max(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) AS `MAX(laenge)`,round(((max(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)) / sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`))) * 100),0) AS `MAX()/SUM()`,time_format(sec_to_time((sum(time_to_sec(`cprior`.`training_journal_laufen`.`dauer`)) / sum(coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`)))),_utf8'%i:%s') AS `AVG(min/km)`,sum(round((((coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`) * ((coalesce(`cprior`.`training_strecke`.`laenge`,`cprior`.`training_journal_laufen`.`laenge`) * 1000) / (time_to_sec(`cprior`.`training_journal_laufen`.`dauer`) / 60))) * 206) / ((206 - `cprior`.`training_journal_laufen`.`hr_avg`) * 220)),0)) AS `greif`,round(((time_to_sec(`cprior`.`training_journal_laufen`.`dauer`) / 60) * ((`cprior`.`training_journal_laufen`.`hr_avg` - `cprior`.`koerperwerte_journal`.`hf_ruhe`) / (206 - `cprior`.`koerperwerte_journal`.`hf_ruhe`))),0) AS `banister` from ((`cprior`.`training_journal_laufen` left join `cprior`.`koerperwerte_journal` on((cast(`cprior`.`koerperwerte_journal`.`datum` as date) = cast(`cprior`.`training_journal_laufen`.`datum` as date)))) left join `cprior`.`training_strecke` on((`cprior`.`training_journal_laufen`.`strecke_id` = `cprior`.`training_strecke`.`id`))) where (`cprior`.`training_journal_laufen`.`type` <> _utf8'KoV') group by week(`cprior`.`training_journal_laufen`.`datum`,1) order by `cprior`.`training_journal_laufen`.`datum` desc;
-- --------------------------------------------------------
--
-- Table structure for table `sport_union_tmp`
--
CREATE ALGORITHM=UNDEFINED DEFINER=`cpr`@`localhost` SQL SECURITY DEFINER VIEW `cprior`.`sport_union_tmp` AS (select _utf8'j' AS `t`,`j`.`datum` AS `datum` from `cprior`.`training_journal_laufen` `j`) union all (select _utf8'c' AS `t`,`c`.`datum` AS `datum` from `cprior`.`training_journal_crosstrainer` `c`);
-- --------------------------------------------------------
Original post:<deleted />