Auswertungen SQL-Grundlagen


Mit Auswertungen stehen Ihnen alle Daten der Labordatenbank zur Verfügung. Dies ist ein mächtiges Tool, um alle Daten in gewünschter Form auszugeben. Deswegen werden die Grundlagen in Form einer Schulung vermittelt, um diese Funktion freizuschalten.
1. Grundbaustein
Eine Auswertung besteht aus einem SQL-Code mit folgendem Inhalt:
SELECT
samples.name AS 'Probe',
samples.description AS 'Bezeichnung'
FROM samples
WHERE samples.visible_to != 'deleted'
ORDER BY samples.name DESC
;

2. Elemente
Folgende Elemente werden meistens genutzt:

SELECT: Spalten
AS: Spaltenbezeichnung (optional)
FROM: Daten-Herkunftstabelle
WHERE: Bedingungen
ORDER BY: Sortierung

3. Abfragebausteine
Folgende Abfragebausteine können Sie in Ihrer Auswertung nutzen:

WHERE samples.visible_to != 'deleted‘ Blendet gelöschte Proben aus

WHERE samples.date BETWEEN _FROMDATE_ AND _TILLDATE_ Lässt die gesamte Auswertung nach Zeiträumen filtern (Labordatenbank-interne Variable, siehe Anleitung Variablen in Auswertungen). Der Filter wird über der Auswertung angezeigt.




ORDER BY samples.date DESC Sortiert absteigend (DESC) nach Probendatum (oder ASC für aufsteigend).

Noch mehr Beispiele für Auswertungen finden Sie unter : Auswertungen -> Beispiele

4. JOIN
Um mehrere tabellen miteinander zu verbinden, wird ein JOIN benötigt.
code>SELECT FROM alteTabs

JOIN neueTabs ON alteTabs.id = neueTabs.alteTab_id;

Beachte: in der Labordatenbank sind alle Tabellen in Mehrzahl (Tabs), die Spaltenbezeichnungen meist in Einzahl (Tab). Dies erleichtert die Unterscheidung zwischen Tabellenbezeichnung und Spaltenbezeichnung.

Anbei eine kleine Übersicht welche Tabellen für die Bereiche: Auftrag-Probe-Ergebnis-Parameter-Spezifikation miteinander verknüpft sind.



5. Verlinkungen
Um in der Ergebnistabelle Links zu erhalten ist ein Labordatenbank-interne Verlinkungssystem:
Um z.B. zur Probendetailansicht zu verlinken verwendet man:
CONCAT('link==../samples/view/', samples.id, '==', samples.name) as 'Proben'
../samples/view/' = LDB-interner Link
samples.id=Teil des Links
samples.name = Anzeigewert
'Proben' =Spaltenüberschrift

6. Verlinkte Stammdatenfelder
zB.: Ein Stammdatenfeld bei Proben (DDF_KUNDE) ist mit den Kunden-Nummern verlinkt, dann folgenden SELECT/JOIN nutzen:
customers.name as 'Kunde'
FROM samples
JOIN customers ON samples.DDF_KUNDE = customers.id



6. Formeln

FunktionBeispielErgebnisBemerkung
Wenn-Dann (CASE)SELECT CASE WHEN MeinFeld = 0
THEN 'Ist Null' ELSE 'Nicht 0' END
AS 'Ergebnis'
FROM meineTabelle;
Wenn MeinFeld = 0 dann Ergebnis = 'Ist Null' ansonsten Ergebnis = 'Nicht 0'ELSE (= ansonsten) ist optional
Wenn-Dann (IF)IF (MeinFeld = 0,'Ist Null', 'Nicht 0')
AS 'Ergebnis'
FROM meineTabelle;
Wenn MeinFeld = 0 dann Ergebnis = 'Ist Null' ansonsten Ergebnis = 'Nicht 0'
Decimal Zahlenformat CAST(REPLACE(parameters.value0, ',', '.') AS DECIMAL(12,2))1.05 -> 1,05
100.2312 -> 100,23
ersetzt das Komma durch einen Punkt und erzeugt mit CAST … as DECIMAL(12,2) eine Dezimalzahl. 12= Gesamtzahl der Stellen, 2 = Anzahl Stellen nach Komma


Allgemeines

Einführungsphase

Mitarbeiter

Aufträge

Proben

Probenvorlage

Berichte

Berichtstabellen Editor

Kunden

Kundenzone (optional)

Anlagen

Angebote

Rechnungen

Parameter

Rechnen mit Parametern

Schnittstellen

Prüfpläne / Grenzwerte / Spezifikationen

Dokumentenlenkung

Prüfmittel

Material

Mitarbeiterschulungen

8D-Report

Sonstiges

Lieferantenbewertung

Dateiverwaltung

Auswertungen