Max Communicator 9. Přístup do databáze a vyčítání hodnot měření externími aplikacemi

Podobné dokumenty
Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

P R E Z E N T A C E Max Communicator 9

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Databázové systémy Cvičení 5.2

Měřící systém se vzdáleným přístupem. Databáze

Databáze I. Přednáška 4

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

Sada 1 - PHP. 14. Úvod do jazyka SQL

MySQL. mysql> CREATE DATABASE nova CHARACTER SET latin2 COLLATE latin2_czech_cs; Query OK, 1 row affected (0.02 sec)

DUM 12 téma: Příkazy pro tvorbu databáze

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Prezentace programu. Tento dokument obsahuje stručný náhled na systém. Max Communicator 9. Program pro podnikovou energetiku. Výrobce a distributor

KIV/ZIS cvičení 6. Tomáš Potužák

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

Databázové systémy a SQL

Střední odborná škola a Střední odborné učiliště, Hořovice

Jazyk SQL databáze SQLite. připravil ing. petr polách

17. července :51 z moravec@yahoo.com

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Nastavení propojení s eshopem

Internetová filmová databáze IFDB

Úvod do databázových systémů

Použití databází na Webu

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

MySQL sežere vaše data

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Informační systémy a datové sklady IS uměleckých galerií Analýza datového skladu

PG 9.5 novinky ve vývoji aplikací

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

Instalace programu. Tento dokument obsahuje přehled informací potřebných pro instalaci a zprovoznění systému. Max Communicator 9

FIREMNÍ CERTIFIKÁT V APLIKACI PŘÍMÝ KANÁL NÁVOD PRO KLIENTY

6. SQL složitější dotazy, QBE

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

Databázové systémy I

Úvod do databázových systémů 3. cvičení

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D.

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Úvod do databázových systémů

AUTOMATICKÉ ZÁLOHOVÁNÍ DATABÁZE PRO SQL Express 2005

Databázové systémy. Cvičení 6: SQL

Tabulka fotbalové ligy

KIV/ZIS cvičení 5. Tomáš Potužák

Specifikace požadavků na softwarový produkt Portál

Databáze I. 5. přednáška. Helena Palovská

TACHOTel manuál 2015 AURIS CZ

LAN/RS485. Převodník BMR Ethernet LAN/RS485

Přehled systému Microsoft SQL Server. Komu je kniha určena Struktura knihy Nejvhodnější výchozí bod pro čtení knihy Konvence a struktura knihy

DUM 15 téma: Příkazy pro řízení přístupu

Instalace programu. Tento dokument obsahuje přehled informací potřebných pro instalaci a zprovoznění systému. Max Communicator 9

1. Relační databázový model

8.2 Používání a tvorba databází

5. POČÍTAČOVÉ CVIČENÍ

BALISTICKÝ MĚŘICÍ SYSTÉM

Databázové systémy I

Verzování a publikace dat na webu za pomoci PostgreSQL

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Konfigurátor Duo. Manuál pro konfiguraci systémů DUO Standard / Basic. Obsah + vybraná nastavení: - 1 -

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

SQL. relační databázový systém. v úvodní kurz jazyka SQL

Úvod do databázových systémů

Konceptuální modelování a SQL

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

Manuál administrátora FMS...2

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Instalace a konfigurace

MySQL manuál. Copyright: Adam Jun Stránky manuálu:

Databáze Agility. Obsah. Strana číslo: {00}

KIV/ZIS - SELECT, opakování

Databázové systémy Cvičení 5.3

Popis souboru pro generování reportů *.report

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Databáze SQL SELECT. David Hoksza

UŽIVATELSKÝ MANUÁL 485COM. verze pro elektroměry CARLO GAVAZZI (protokol MODBUS)

SQL - trigger, Databázové modelování

1. POSTUP INSTALACE A KONTROLA NASTAVENÍ MICROSOFT SQL SERVERU 2005 EXPRESS:

BankKlient. FAQs. verze 9.50

Tisk dokumentů na VŠPJ

Databázové systémy a SQL

Nastavení programu pro práci v síti

XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

Manuál programu. Tento dokument obsahuje kompletní přehled informací o systému. Max Communicator 9. Program pro podnikovou energetiku

Vzorové příklady SQL. Tabulka: Kniha CREATE TABLE kniha (id INTEGER, název VARCHAR(50), PRIMARY KEY (id))

Uživatelský manuál. KNXgal. řízení zabezpečovacích ústředen. Galaxy ze sběrnice KNX. napájeno ze sběrnice KNX. indikace komunikace na KNX

KIV/ZIS - cvičení. je dobré chodit na cvičení, lépe se pak vypracovávají semestrálky. první 2 týdny podle kapacity 1/37

QTREE-DUMX4 Vícekanálový multiplexer pro připojení měřidel Mitutoyo na USB port PC Uživatelská příručka. Řízení jakosti podle norem ISO 9000

Semináˇr Java X JDBC Semináˇr Java X p.1/25

Úvod do databázových systémů

Návod k instalaci S O L U T I O N S

Uživatelský manuál. KNXgal

Databáze pro evidenci výrobků

MBus Explorer MULTI. Uživatelský manuál V. 1.1

Transkript:

Max Communicator 9 Přístup do databáze a vyčítání hodnot měření externími aplikacemi Úvod Program Max Communicator 9 ukládá data (hodnoty měření spotřeby) do databáze MySQL verze 5.1 až 5.7 (30.9.2016). Podle typu provozu (instalace) program používá buď vestavěnou databázi (jednouživatelský režim) nebo standardní databázi, kterou obsluhuje samostatný databázový stroj MySQL (víceuživatelský režim) podrobnosti viz pokyny k instalaci programu Max Communicator 9 Pokud chcete ze systému měření a regulace získat nějaké údaje, tzn. samostatný přístup do databáze, musí být program MC9 provozován ve víceuživatelském režimu, tzn. se samostatnou instalací MySQL! Dále - externí aplikace musí podporovat připojení k databázi typu MySQL ať už přímo nebo přes další nástroje tzv. konektory apod.! Zásady Program MC9 ukládá data do tabulek typu (engine): MyISAM. Tyto tabulky nepodporují transakce a při přístupu k nim je blokována celá tabulka. Externí aplikace by proto měla vyčítat data po menších blocích doba zpracování jednoho dotazu by neměla překročit jednotky sekund Pokud je potřeba vyčítat údaje za delší období (měsíce, roky), použít pro čtení raději souhrnnou tabulku viz dále Do databáze přistupovat samostatným účtem s oprávněním jen pro čtení nepoužívat stejný účet jako program MC9 nebo dokonce ROOT! w w w. p k - e l s y s. c z Stránka 1

Přístup k databázi Nejdříve je třeba zjistit, kde běží databázový stroj (adresa počítače) a na který port se program MC9 připojuje: V záložce Nastavení a servis - Konfigurace zjistíte potřebné údaje pro připojení včetně jména databáze, kterou program MC9 používá Vytvoření přístupového účtu pro externí aplikaci Na počítači, kde je instalován stroj MySQL, spusťte program klienta MySQL Pro přihlášení použijte heslo pro účet ROOT správce všech databází (zadáno při instalaci) Vytvořte nový přístupový účet k databázi s oprávněním : GRANT ON <název databáze>.* TO <externí uživatel> IDENTIFIED BY ''<heslo>'' Př.: GRANT ON maxcomm.* TO host IDENTIFIED BY ''host3009' www.pk-elsys.cz Stránka 2

Vytvoření nové přístupového účtu (přihlášeno pod účtem ROOT): Pozn. Příkaz je třeba zakončit středníkem ; a teprve poté stisknout klávesu Enter! Pozor! Nezapomeňte za názvem databáze vložit tečku a hvězdičku (maxcomm.*)! Oprávnění umožní tomuto účtu pouze prohlížet databázi resp. vyčítat data Programy pro testování SQL dotazů Nový uživatelský účet je vhodné hned vyzkoušet a nejlépe s pomocí standardních nástrojů od výrobce MySQL: MySQL Query Browser (starší program, ale velmi jednoduchý a plně postačující) MySQL Workbench (nový program, ale zbytečně složitý) www.pk-elsys.cz Stránka 3

Popis databázových tabulek Kompletní výpis včetně struktury všech tabulek najdete pomocí programu MySQL Query Browser KLÍČOVÉ TABULKY: Název tabulky Popis Klíč Cizí klíč projects Seznam všech definovaných projektů ID_project prj_measures Seznam všech definovaných měření ID_measure ID_project data_recs Tabulka datových záznamů jeden řádek odpovídá jedné 1/4h pro jeden projekt. Na tento řádek se odkazuje X-řádků v tabulce data_measures, kde jsou hodnoty měření. ID_datarec ID_project data_measures data_measures_summary Tabulka hodnot měření jeden řádek reprezentuje jednu hodnotu měření (odběr za 1/4h) Souhrnná tabulka měření denní agregované hodnoty (suma, průměr, min, max) ID ID ID_datarec, ID_measure ID_project, ID_measure V jedné databázi může být neomezeně projektů (1 projekt = jedno zařízení/regulátor) a každý projekt může mít neomezeně definic měření. Pozn. Regulátor má sice maximálně 120 kanálu měření, ale definovat lze i duplicitní měření a výpočtová měření Pokud chcete vyčítat data (hodnoty) jednoho konkrétního měření, je třeba nejdříve zjistit hodnotu ID_measure vyčtením z tabulky prj_measures. Tzv. hlavní (předávací měření) pro každý projekt má uloženo ID tohoto měření i přímo v tabulce projects. Tabulka projects CREATE TABLE `projects` ( `ID_project` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID projektu', `ID_device_driver` int(11) DEFAULT '1' COMMENT 'Typ zarizeni', `ID_connect_driver` int(11) DEFAULT '1' COMMENT 'Typ pripojeni', `ID_main_msr_active_import` int(10) unsigned DEFAULT NULL COMMENT 'Pred.mereni - cinne+', `ID_main_msr_reactive_import` int(10) unsigned DEFAULT NULL COMMENT 'PM - jalove+', `ID_main_msr_reactive_export` int(10) unsigned DEFAULT NULL COMMENT 'PM - jalove-', `description` varchar(128) COLLATE utf8_czech_ci DEFAULT NULL COMMENT 'Popis projektu', `post_city` varchar(128) COLLATE utf8_czech_ci DEFAULT NULL COMMENT 'Mesto', `post_address` varchar(128) COLLATE utf8_czech_ci DEFAULT NULL COMMENT 'Adresa', `device_sync_rtc` tinyint(1) DEFAULT '0' COMMENT 'Synchronizovat cas zarizeni', `device_download_data` tinyint(1) DEFAULT '1' COMMENT 'Stahovat data zarizeni', `device_autoset_maxreg` tinyint(1) DEFAULT '0' COMMENT 'Autom. nastavit regulovane maximum', `device_autoset_koef` double DEFAULT '0' COMMENT 'Koeficient pro korekci maxima', `device_addr` int(3) unsigned DEFAULT '0' COMMENT 'Adresa zarizeni', `device_pin` int(4) unsigned DEFAULT '0' COMMENT 'PIN pro pristup do zarizeni', `device_reconnect` tinyint(1) DEFAULT '0' COMMENT 'Obnovit spojeni se zarizenim', `conn_timeout` int(4) unsigned DEFAULT '0' COMMENT 'Timout pro pripojeni', `serial_port_no` int(2) DEFAULT '1' COMMENT 'Cislo serial portu', `serial_baudrate` int(6) DEFAULT NULL COMMENT 'Rychlost serial portu', `serial_parity` int(1) DEFAULT NULL COMMENT 'Parita serial portu', `serial_ctrl_dir` int(1) unsigned DEFAULT '0' COMMENT 'Rizeni prevodniku RS232/485', `modem_phone_no` varchar(45) COLLATE utf8_czech_ci DEFAULT NULL COMMENT 'Cislo modemu', `modem_port_no` int(2) DEFAULT '1' COMMENT 'Cislo serial portu modemu', www.pk-elsys.cz Stránka 4

`modem_init` varchar(128) COLLATE utf8_czech_ci DEFAULT NULL COMMENT 'Inicializace modemu', `modem_driver` varchar(255) COLLATE utf8_czech_ci DEFAULT NULL COMMENT 'ovladac modemu', `remote_host` varchar(64) COLLATE utf8_czech_ci DEFAULT NULL COMMENT 'pro TCP, UDP', `remote_port` int(5) unsigned DEFAULT '0' COMMENT 'Port pro TCP, UDP', `local_port` int(5) unsigned DEFAULT '0' COMMENT 'Mistni port (UDP)', `dta_dwn_min_interval` int(2) unsigned DEFAULT '0' COMMENT 'Min interval aktualizace dat', `dta_dwn_en_from` int(2) unsigned DEFAULT '0' COMMENT 'Autom. stazeni dat povoleno OD...', `dta_dwn_en_to` int(2) unsigned DEFAULT '0' COMMENT 'Autom. stazeni dat povoleno DO...', `deleted` tinyint(1) unsigned DEFAULT '0' COMMENT 'Priznak vymazaneho projektu', `reserved_power` double DEFAULT NULL, `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`ID_project`) ) ENGINE=MyISAM COMMENT='Vlastnosti projektu'; Tabulka prj_measures CREATE TABLE `prj_measures` ( `ID_measure` int(10) unsigned NOT NULL AUTO_INCREMENT, `ID_project` int(10) unsigned NOT NULL, `ID_msr_type` int(10) unsigned DEFAULT NULL COMMENT 'Typ mereni', `ID_msr_group` int(10) unsigned DEFAULT NULL COMMENT 'ID skupiny, kam mereni patri', `msr_desc` varchar(128) COLLATE utf8_czech_ci DEFAULT NULL COMMENT 'Popis mereni', `msr_unit` varchar(32) COLLATE utf8_czech_ci DEFAULT NULL COMMENT 'Jednotka', `msr_id` bigint(20) unsigned DEFAULT NULL COMMENT 'Uzivatelske ID mereni', `msr_position` int(3) unsigned DEFAULT NULL COMMENT 'Pozice mereni ve vypisu', `msr_device_index` int(3) unsigned DEFAULT '0' COMMENT 'Vstup zarizeni', `msr_multiplier` double unsigned DEFAULT '1' COMMENT 'Nasobitel mereni', `msr_definition` varchar(255) COLLATE utf8_czech_ci DEFAULT NULL COMMENT 'Vzorec', `msr_display_format` varchar(20) COLLATE utf8_czech_ci DEFAULT '#,##0.###', `msr_font_color` int(11) DEFAULT '-16777208' COMMENT 'Barva pisma mereni v tabulce vypisu', `deleted` tinyint(1) unsigned DEFAULT '0' COMMENT 'Priznak vymazaneho mereni', `exclude_from_dgn` tinyint(1) unsigned DEFAULT '0' COMMENT 'Vyradit z diagnostiky', `msr_notes` varchar(255) COLLATE utf8_czech_ci DEFAULT NULL COMMENT 'Poznamky', `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `ID_price_list` int(10) unsigned DEFAULT NULL COMMENT 'Cenik', `msr_val_max` double DEFAULT NULL COMMENT 'Diagnostika-maximalni hodnota mereni', `msr_val_max_day` double DEFAULT NULL COMMENT 'Diagnostika-maximalni denni hodnota mereni', PRIMARY KEY (`ID_measure`), KEY `Index_1` (`ID_project`,`ID_msr_type`) ) ENGINE=MyISAM COMMENT='Seznam vsech mereni'; Tabulka data_recs CREATE TABLE `data_recs` ( `ID_datarec` int(10) unsigned NOT NULL AUTO_INCREMENT, `ID_project` int(10) unsigned NOT NULL, `data_dt` datetime NOT NULL, `ID_tariff` int(10) unsigned NOT NULL, `regmax` double NOT NULL, `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`ID_datarec`), UNIQUE KEY `Index_1` (`ID_project`,`data_dt`) ) ENGINE=MyISAM COMMENT='Datove zaznamy'; Tabulka data_measures CREATE TABLE data_measures` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `ID_datarec` int(10) unsigned NOT NULL, `ID_measure` int(10) unsigned NOT NULL, `msr_value` double NOT NULL, PRIMARY KEY (`ID`), KEY `IDX_datarec` (`ID_datarec`), KEY `IDX_measure` (`ID_measure`), KEY `IDX_datarec_measure` (`ID_datarec`,`ID_measure`) ) ENGINE=MyISAM COMMENT='Hodnoty mereni'; www.pk-elsys.cz Stránka 5

Tabulka data_measures_summary CREATE TABLE `maxcomm`.`data_measures_summary` ( `ID` int(10) unsigned NOT NULL AUTO_INCREMENT, `ID_project` int(10) unsigned NOT NULL, `ID_measure` int(10) unsigned NOT NULL, `ID_tariff` int(10) unsigned NOT NULL, `data_date` date NOT NULL, `sum_value` double DEFAULT NULL, `avg_value` double DEFAULT NULL, `max_value` double DEFAULT NULL, `min_value` double DEFAULT NULL, `rec_count` int(10) unsigned DEFAULT NULL, `ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`ID`), UNIQUE KEY `Index_1` (`ID_project`,`data_date`,`ID_measure`,`ID_tariff`), KEY `Index_2` (`ID_measure`) ) ENGINE=MyISAM COMMENT='Souhrnna tabulka mereni'; Příklady Seznam projektů a zjištění klíče ID_project : ID_project, description, ID_main_msr_active_import projects ORDER BY ID_project Seznam všech definovaných měření jednoho projektu: ID_measure, msr_desc, msr_unit prj_measures ID_project=1 ORDER BY ID_measure Kde 1 je zadané ID projektu. Dotaz na hodnoty předávacího měření po 1/4h, jeden den ID_project, ID_measure, data_dt, msr_value projects as p INNER JOIN data_recs as dr USING(ID_Project) INNER JOIN data_measures as dm FORCE INDEX(IDX_datarec_measure) ON dm.id_datarec=dr.id_datarec AND dm.id_measure=p.id_main_msr_active_import p.id_project = 1 AND data_dt BETWEEN '2013-01-01' AND '2013-01-01 23:59:59' ID hlavního měření se vyčítá přímo z projektu. Vrátí 96 řádků (24*4), za předpokladu, že hodnoty existují! Dotaz na hodnoty libovolného měření po 1/4h, jeden den ID_project, ID_measure, data_dt, msr_value data_recs www.pk-elsys.cz Stránka 6

INNER JOIN data_measures FORCE INDEX(IDX_datarec_measure) USING(ID_datarec) ID_project = 1 AND ID_measure = 1 AND data_dt BETWEEN '2013-01-01' AND '2013-01-01 23:59:59' Vrátí 96 řádků (24*4), za předpokladu, že hodnoty existují! Pro delší časová období jako např. měsíc, je vhodné použít agregaci hodnot: Dotaz na hodnoty měření měsíční diagram po dnech ID_project, ID_measure, DAY(data_dt) as dt_day, SUM(msr_value) as msr_value data_recs INNER JOIN data_measures FORCE INDEX(IDX_datarec_measure) USING(ID_datarec) ID_project = 1 AND ID_measure = 1 AND data_dt BETWEEN '2013-01-01' AND '2013-01-31 23:59:59' GROUP BY dt_day Vrátí 31 řádků, pokud data v daném dnu existují. Agregace s ohledem na typ měření měsíční diagram po dnech a tarifech Vrátí počet řádků dle intervalu OD-DO bez ohledu na to, zda existují hodnoty měření díky tabulce T50 p.id_project, itab.idt, CAST(data_dt AS DATETIME) as data_dt, IF(ID_msr_type < 128, msr_suma, msr_avg) as msr_suma, IF(ID_msr_type < 128, msr_max, NULL) as msr_max, IF(ID_msr_type < 128, msr_suma_t1, msr_avg_t1) as msr_suma_t1, IF(ID_msr_type < 128, msr_max_t1, NULL) as msr_max_t1, IF(ID_msr_type < 128, msr_suma_t2, msr_avg_t2) as msr_suma_t2, IF(ID_msr_type < 128, msr_max_t2, NULL) as msr_max_t2, IF(ID_msr_type < 128, msr_suma_t3, msr_avg_t3) as msr_suma_t3, IF(ID_msr_type < 128, msr_max_t3, NULL) as msr_max_t3, 4*msr_val_max as msr_val_max_x4, msr_val_max_day ( DAY(DATE_ADD(:data_dt1, INTERVAL ID-1 DAY)) AS idt, DATE_ADD(:data_dt1, INTERVAL ID-1 DAY) AS data_dt T50 DATE_ADD(:data_dt1, INTERVAL ID-1 DAY) < :data_dt2 ) as itab LEFT JOIN ( ID_project, DAY(data_date) as idt, SUM(sum_value) as msr_suma, AVG(avg_value) as msr_avg, 4*MAX(max_value) as msr_max, SUM( IF(ID_tariff = 1, sum_value, null)) as msr_suma_t1, AVG( IF(ID_tariff = 1, avg_value, null)) as msr_avg_t1, 4*MAX(IF(ID_tariff = 1, max_value, null)) as msr_max_t1, SUM( IF(ID_tariff = 2, sum_value, null)) as msr_suma_t2, AVG( IF(ID_tariff = 2, avg_value, null)) as msr_avg_t2, 4*MAX(IF(ID_tariff = 2, max_value, null)) as msr_max_t2, SUM( IF(ID_tariff = 3, sum_value, null)) as msr_suma_t3, AVG( IF(ID_tariff = 3, avg_value, null)) as msr_avg_t3, 4*MAX(IF(ID_tariff = 3, max_value, null)) as msr_max_t3 data_measures_summary www.pk-elsys.cz Stránka 7

ID_project = :ID_project AND ID_measure = :ID_measure AND data_date BETWEEN :data_dt1 AND :data_dt2 GROUP BY idt ) as tab1 ON tab1.idt = itab.idt, ( ID_project, ID_measure, ID_msr_type, msr_val_max, msr_val_max_day prj_measures ID_project = :ID_project AND ID_measure = :ID_measure ) as p :ID_project, :ID_measure, :data_dt1, :data_dt2, jsou parametry SQL dotazu je třeba doplnit žádané údaje. Příklad dotazu zadaného přes MySQL Query Browser (seznam všech měření projektu) www.pk-elsys.cz Stránka 8