Template:Resultlink: Difference between revisions

From Opasnet
Jump to navigation Jump to search
(Newest replaced with Obj.Newest in queries)
(another attempt to speed the queries)
Line 14: Line 14:
{{#sql-query:
{{#sql-query:
SELECT Cell.Obj_id_v AS Object, Cell_id AS Cell, Cell.Obj_id_r AS Upload, Obj.Ident, Obj.Name, N, GROUP_CONCAT(Loc.Location SEPARATOR ', ') AS Location, Obj.Unit, Mean, SD FROM Obj
SELECT Cell.Obj_id_v AS Object, Cell_id AS Cell, Cell.Obj_id_r AS Upload, Obj.Ident, Obj.Name, N, GROUP_CONCAT(Loc.Location SEPARATOR ', ') AS Location, Obj.Unit, Mean, SD FROM Obj
(SELECT Obj_id_r FROM Obj
JOIN Cell ON Obj.id=Cell.Obj_id_v
WHERE Obj.Ident="Op_en{{PAGEID}}"
ORDER BY Obj_id_r DESC
LIMIT 0,1) AS Newest
JOIN Cell ON Obj.id=Cell.Obj_id_v
JOIN Cell ON Obj.id=Cell.Obj_id_v
JOIN Loccell ON Cell.id=Loccell.Cell_id
JOIN Loccell ON Cell.id=Loccell.Cell_id
Line 20: Line 25:
JOIN Obj AS Ind ON Loc.Obj_id_i=Ind.id
JOIN Obj AS Ind ON Loc.Obj_id_i=Ind.id
WHERE Obj.Ident="Op_en{{PAGEID}}"
WHERE Obj.Ident="Op_en{{PAGEID}}"
AND Cell.Obj_id_r={{#if: {{{upload|}}}|{{{upload}}}|Obj.Newest}}
AND Cell.Obj_id_r={{#if: {{{upload|}}}|{{{upload}}}|Newest.Obj_id_r}}
GROUP BY Cell_id
GROUP BY Cell_id
LIMIT 0, 1000
LIMIT 0, 1000
Line 27: Line 32:
SELECT Temp.*, Res.Obs, Res.Result  
SELECT Temp.*, Res.Obs, Res.Result  
FROM  (SELECT Cell.Obj_id_v AS Object, Cell_id AS Cell, Cell.Obj_id_r AS Upload, Obj.Ident, Obj.Name, N, GROUP_CONCAT(Loc.Location SEPARATOR ', ') AS Location, Obj.Unit, Mean, SD FROM Obj  
FROM  (SELECT Cell.Obj_id_v AS Object, Cell_id AS Cell, Cell.Obj_id_r AS Upload, Obj.Ident, Obj.Name, N, GROUP_CONCAT(Loc.Location SEPARATOR ', ') AS Location, Obj.Unit, Mean, SD FROM Obj  
(SELECT Obj_id_r FROM Obj
JOIN Cell ON Obj.id=Cell.Obj_id_v
WHERE Obj.Ident="Op_en{{PAGEID}}"
ORDER BY Obj_id_r DESC
LIMIT 0,1) AS Newest
JOIN Cell ON Obj.id=Cell.Obj_id_v  
JOIN Cell ON Obj.id=Cell.Obj_id_v  
JOIN Loccell ON Cell.id=Loccell.Cell_id  
JOIN Loccell ON Cell.id=Loccell.Cell_id  
Line 33: Line 43:
JOIN Obj AS Ind ON Loc.Obj_id_i=Ind.id  
JOIN Obj AS Ind ON Loc.Obj_id_i=Ind.id  
WHERE Obj.Ident="Op_en{{PAGEID}}"
WHERE Obj.Ident="Op_en{{PAGEID}}"
AND Cell.Obj_id_r={{#if: {{{upload|}}}|{{{upload}}}|Obj.Newest}}
AND Cell.Obj_id_r={{#if: {{{upload|}}}|{{{upload}}}|Newest.Obj_id_r}}
GROUP BY Cell_id) AS Temp  
GROUP BY Cell_id) AS Temp  
JOIN Res ON Temp.Cell=Res.Cell_id  
JOIN Res ON Temp.Cell=Res.Cell_id  

Revision as of 17:31, 4 June 2009

Show results from the Opasnet Base:

{{#sql-query: SELECT Var.Ident, Var.Name, Var.Unit, Run.Ident, Objinfo.Moment, Objinfo.Who, Run.Name as Method FROM Obj as Var, Obj as Run, Cell, Objinfo WHERE Var.Ident = "Op_en2239" AND Var.id = Cell.Obj_id_v AND Run.id = Cell.Obj_id_r AND Run.id = Objinfo.Obj_id GROUP BY Var.id, Run.id ORDER BY Run.id DESC |List of uploads|Resultlink}} | The newest upload | {{#sql-query: SELECT Cell.Obj_id_v AS Object, Cell_id AS Cell, Cell.Obj_id_r AS Upload, Obj.Ident, Obj.Name, N, GROUP_CONCAT(Loc.Location SEPARATOR ', ') AS Location, Obj.Unit, Mean, SD FROM Obj (SELECT Obj_id_r FROM Obj JOIN Cell ON Obj.id=Cell.Obj_id_v WHERE Obj.Ident="Op_en2239" ORDER BY Obj_id_r DESC LIMIT 0,1) AS Newest JOIN Cell ON Obj.id=Cell.Obj_id_v JOIN Loccell ON Cell.id=Loccell.Cell_id JOIN Loc AS Rawloc ON Loccell.Loc_id=Rawloc.id JOIN Loc ON Rawloc.Std_id=Loc.id JOIN Obj AS Ind ON Loc.Obj_id_i=Ind.id WHERE Obj.Ident="Op_en2239" AND Cell.Obj_id_r=Newest.Obj_id_r GROUP BY Cell_id LIMIT 0, 1000 |Mean and SD}} | {{#sql-query: SELECT Temp.*, Res.Obs, Res.Result FROM (SELECT Cell.Obj_id_v AS Object, Cell_id AS Cell, Cell.Obj_id_r AS Upload, Obj.Ident, Obj.Name, N, GROUP_CONCAT(Loc.Location SEPARATOR ', ') AS Location, Obj.Unit, Mean, SD FROM Obj (SELECT Obj_id_r FROM Obj JOIN Cell ON Obj.id=Cell.Obj_id_v WHERE Obj.Ident="Op_en2239" ORDER BY Obj_id_r DESC LIMIT 0,1) AS Newest JOIN Cell ON Obj.id=Cell.Obj_id_v JOIN Loccell ON Cell.id=Loccell.Cell_id JOIN Loc AS Rawloc ON Loccell.Loc_id=Rawloc.id JOIN Loc ON Rawloc.Std_id=Loc.id JOIN Obj AS Ind ON Loc.Obj_id_i=Ind.id WHERE Obj.Ident="Op_en2239" AND Cell.Obj_id_r=Newest.Obj_id_r GROUP BY Cell_id) AS Temp JOIN Res ON Temp.Cell=Res.Cell_id WHERE Obs<101 LIMIT 0, 1000 |Sample (max 100 iterations)}}

USAGE:
This template creates a link to a variable in result database.
First parameter is number of samples.

Development idea: Templaatti avaa tuloksen uuteen ikkunaan. Siellä on linkki, jota klikkaamalla tulee compare versions muuttujan nykyisestä wikisivusta ja siitä, joka oli voimassa sillä hetkellä kun muuttuja laskettiin tulostietokantaan.