Difference between revisions of "Template:Resultlink"

From Testiwiki
Jump to: navigation, 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.